31 Jul, 2012

3 commits

  • Merge Andrew's first set of patches:
    "Non-MM patches:

    - lots of misc bits

    - tree-wide have_clk() cleanups

    - quite a lot of printk tweaks. I draw your attention to "printk:
    convert the format for KERN_ to a 2 byte pattern" which
    looks a bit scary. But afaict it's solid.

    - backlight updates

    - lib/ feature work (notably the addition and use of memweight())

    - checkpatch updates

    - rtc updates

    - nilfs updates

    - fatfs updates (partial, still waiting for acks)

    - kdump, proc, fork, IPC, sysctl, taskstats, pps, etc

    - new fault-injection feature work"

    * Merge emailed patches from Andrew Morton : (128 commits)
    drivers/misc/lkdtm.c: fix missing allocation failure check
    lib/scatterlist: do not re-write gfp_flags in __sg_alloc_table()
    fault-injection: add tool to run command with failslab or fail_page_alloc
    fault-injection: add selftests for cpu and memory hotplug
    powerpc: pSeries reconfig notifier error injection module
    memory: memory notifier error injection module
    PM: PM notifier error injection module
    cpu: rewrite cpu-notifier-error-inject module
    fault-injection: notifier error injection
    c/r: fcntl: add F_GETOWNER_UIDS option
    resource: make sure requested range is included in the root range
    include/linux/aio.h: cpp->C conversions
    fs: cachefiles: add support for large files in filesystem caching
    pps: return PTR_ERR on error in device_create
    taskstats: check nla_reserve() return
    sysctl: suppress kmemleak messages
    ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION
    ipc: compat: use signed size_t types for msgsnd and msgrcv
    ipc: allow compat IPC version field parsing if !ARCH_WANT_OLD_COMPAT_IPC
    ipc: add COMPAT_SHMLBA support
    ...

    Linus Torvalds
     
  • Rather than #define the options manually in the architecture code, add
    Kconfig options for them and select them there instead. This also allows
    us to select the compat IPC version parsing automatically for platforms
    using the old compat IPC interface.

    Reported-by: Andrew Morton
    Signed-off-by: Will Deacon
    Cc: Arnd Bergmann
    Cc: Chris Metcalf
    Cc: Catalin Marinas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Will Deacon
     
  • Pull treewide kbuild cleanup from Michal Marek:
    "Paul Bolle did a cleanup of headers in various
    architectures. Because the patch touch several architectures at
    once, it was easiest for me to apply them to the kbuild tree."

    * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Remove useless wrappers of asm-generic/rmap.h
    Remove useless wrappers of asm-generic/ipc.h
    Remove useless wrappers of asm-generic/cpumask.h

    Linus Torvalds
     

23 Jul, 2012

1 commit

  • Pull smp/hotplug changes from Ingo Molnar:
    "Various cleanups to the SMP hotplug code - a continuing effort of
    Thomas et al"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    smpboot: Remove leftover declaration
    smp: Remove num_booting_cpus()
    smp: Remove ipi_call_lock[_irq]()/ipi_call_unlock[_irq]()
    POWERPC: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
    SPARC: SMP: Remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
    ia64: SMP: Remove call to ipi_call_lock_irq()/ipi_call_unlock_irq()
    x86-smp-remove-call-to-ipi_call_lock-ipi_call_unlock
    tile: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
    S390: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
    parisc: Smp: remove call to ipi_call_lock()/ipi_call_unlock()
    mn10300: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()
    hexagon: SMP: Remove call to ipi_call_lock()/ipi_call_unlock()

    Linus Torvalds
     

18 Jul, 2012

1 commit

  • Commit a610d6e672d6 ("pull clearing RESTORE_SIGMASK into
    block_sigmask()") caused:

    arch/mn10300/kernel/signal.c: In function 'handle_signal':
    arch/mn10300/kernel/signal.c:462:3: warning: 'return' with no value, in function returning non-void [-Wreturn-type]

    Add the missing return values, and restore the indentation while we're
    at it.

    Signed-off-by: Geert Uytterhoeven
    Cc: Al Viro
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     

12 Jul, 2012

8 commits

  • Merge random patches from Andrew Morton.

    * Merge emailed patches from Andrew Morton : (32 commits)
    memblock: free allocated memblock_reserved_regions later
    mm: sparse: fix usemap allocation above node descriptor section
    mm: sparse: fix section usemap placement calculation
    xtensa: fix incorrect memset
    shmem: cleanup shmem_add_to_page_cache
    shmem: fix negative rss in memcg memory.stat
    tmpfs: revert SEEK_DATA and SEEK_HOLE
    drivers/rtc/rtc-twl.c: fix threaded IRQ to use IRQF_ONESHOT
    fat: fix non-atomic NFS i_pos read
    MAINTAINERS: add OMAP CPUfreq driver to OMAP Power Management section
    sgi-xp: nested calls to spin_lock_irqsave()
    fs: ramfs: file-nommu: add SetPageUptodate()
    drivers/rtc/rtc-mxc.c: fix irq enabled interrupts warning
    mm/memory_hotplug.c: release memory resources if hotadd_new_pgdat() fails
    h8300/uaccess: add mising __clear_user()
    h8300/uaccess: remove assignment to __gu_val in unhandled case of get_user()
    h8300/time: add missing #include
    h8300/signal: fix typo "statis"
    h8300/pgtable: add missing #include
    drivers/rtc/rtc-ab8500.c: ensure correct probing of the AB8500 RTC when Device Tree is enabled
    ...

    Linus Torvalds
     
  • Fix the warnings:

    arch/mn10300/kernel/irq.c:173:7: warning: "CONFIG_MN10300_TTYSM1_TIMER9" is not defined [-Wundef]
    arch/mn10300/kernel/irq.c:175:7: warning: "CONFIG_MN10300_TTYSM1_TIMER3" is not defined [-Wundef]

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix the warnings:

    arch/mn10300/mm/dma-alloc.c: At top level:
    arch/mn10300/mm/dma-alloc.c:63:1: warning: data definition has no type or storage class [enabled by default]
    arch/mn10300/mm/dma-alloc.c:63:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
    arch/mn10300/mm/dma-alloc.c:63:1: warning: parameter names (without types) in function declaration [enabled by default]
    arch/mn10300/mm/dma-alloc.c:75:1: warning: data definition has no type or storage class [enabled by default]
    arch/mn10300/mm/dma-alloc.c:75:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
    arch/mn10300/mm/dma-alloc.c:75:1: warning: parameter names (without types) in function declaration [enabled by default]

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix the warning:

    arch/mn10300/kernel/traps.c:304:1: warning: data definition has no type or storage class [enabled by default]
    arch/mn10300/kernel/traps.c:304:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
    arch/mn10300/kernel/traps.c:304:1: warning: parameter names (without types) in function declaration [enabled by default]

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix the nm10300 build failure:

    In file included from arch/mn10300/kernel/csrc-mn10300.c:14:0:
    arch/mn10300/kernel/internal.h:42:1: error: unknown type name 'irqreturn_t'

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Fix the warning:

    include/linux/ptrace.h:66:0: warning: "PTRACE_O_TRACESYSGOOD" redefined [enabled by default]
    arch/mn10300/include/asm/ptrace.h:85:0: note: this is the location of the previous definition

    We already have it in , so remove it from

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Move the static inline function setup_jiffies_interrupt() from
    to arch/mn10300/kernel/cevt-mn10300.c, which is its only
    callsite.

    This allows to remove the inclusion of and
    from and , fixing include hell like:

    include/linux/jiffies.h:260:31: warning: "CLOCK_TICK_RATE" is not defined [-Wundef]
    include/linux/jiffies.h:260:31: warning: "CLOCK_TICK_RATE" is not defined [-Wundef]
    include/linux/jiffies.h:46:42: error: division by zero in #if
    ...
    make[4]: *** [arch/mn10300/kernel/asm-offsets.s] Error 1

    and (after a quick hack for the above by defining CLOCK_TICK_RATE in
    ):

    In file included from include/linux/notifier.h:15:0,
    from include/linux/memory_hotplug.h:6,
    from include/linux/mmzone.h:718,
    from include/linux/gfp.h:4,
    from include/linux/irq.h:20,
    from arch/mn10300/unit-asb2303/include/unit/timex.h:15,
    from arch/mn10300/include/asm/timex.h:15,
    from include/linux/timex.h:174,
    from include/linux/jiffies.h:8,
    from include/linux/ktime.h:25,
    from include/linux/timer.h:5,
    from include/linux/workqueue.h:8,
    include/linux/srcu.h:55:22: error: field 'work' has incomplete type

    As a consequence, we do need a few more inclusions of , namely
    in arch/mn10300/unit-asb2303/smc91111.c and
    arch/mn10300/unit-asb2305/unit-init.c.

    Signed-off-by: Geert Uytterhoeven
    Cc: David Howells
    Cc: Koichi Yasutake
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • The declaration of arch_release_thread_info() needs a semicolon.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     

28 Jun, 2012

1 commit

  • mn10300 has a header (in its include/asm directory) that is a thin
    wrapper around asm-generic/ipc.h. This wrapper is useless, since that
    header doesn't exist. It is also unused (no file includes asm/ipc.h).

    hexagon and tile generate similar headers at build time (using a
    generic-y entry in include/asm/Kbuild). These generated headers are
    useless and unused too.

    Remove this header and these generic-y entries.

    Signed-off-by: Paul Bolle
    Acked-by: Richard Kuo
    Acked-by: Chris Metcalf
    Acked-by: David Howells [MN10300]
    Signed-off-by: Michal Marek

    Paul Bolle
     

05 Jun, 2012

1 commit

  • ipi_call_lock/unlock() lock resp. unlock call_function.lock. This lock
    protects only the call_function data structure itself, but it's
    completely unrelated to cpu_online_mask. The mask to which the IPIs
    are sent is calculated before call_function.lock is taken in
    smp_call_function_many(), so the locking around set_cpu_online() is
    pointless and can be removed.

    [ tglx: Massaged changelog ]

    Signed-off-by: Yong Zhang
    Cc: ralf@linux-mips.org
    Cc: sshtylyov@mvista.com
    Cc: david.daney@cavium.com
    Cc: nikunj@linux.vnet.ibm.com
    Cc: paulmck@linux.vnet.ibm.com
    Cc: axboe@kernel.dk
    Cc: peterz@infradead.org
    Cc: David Howells
    Cc: Koichi Yasutake
    Cc: linux-am33-list@redhat.com
    Link: http://lkml.kernel.org/r/1338275765-3217-3-git-send-email-yong.zhang0@gmail.com
    Acked-by: Srivatsa S. Bhat
    Acked-by: Peter Zijlstra
    Signed-off-by: Thomas Gleixner

    Yong Zhang
     

02 Jun, 2012

8 commits

  • Pull third pile of signal handling patches from Al Viro:
    "This time it's mostly helpers and conversions to them; there's a lot
    of stuff remaining in the tree, but that'll either go in -rc2
    (isolated bug fixes, ideally via arch maintainers' trees) or will sit
    there until the next cycle."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    x86: get rid of calling do_notify_resume() when returning to kernel mode
    blackfin: check __get_user() return value
    whack-a-mole with TIF_FREEZE
    FRV: Optimise the system call exit path in entry.S [ver #2]
    FRV: Shrink TIF_WORK_MASK [ver #2]
    FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions
    new helper: signal_delivered()
    powerpc: get rid of restore_sigmask()
    most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set
    set_restore_sigmask() is never called without SIGPENDING (and never should be)
    TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set
    don't call try_to_freeze() from do_signal()
    pull clearing RESTORE_SIGMASK into block_sigmask()
    sh64: failure to build sigframe != signal without handler
    openrisc: tracehook_signal_handler() is supposed to be called on success
    new helper: sigmask_to_save()
    new helper: restore_saved_sigmask()
    new helpers: {clear,test,test_and_clear}_restore_sigmask()
    HAVE_RESTORE_SIGMASK is defined on all architectures now

    Linus Torvalds
     
  • Pull vfs changes from Al Viro.
    "A lot of misc stuff. The obvious groups:
    * Miklos' atomic_open series; kills the damn abuse of
    ->d_revalidate() by NFS, which was the major stumbling block for
    all work in that area.
    * ripping security_file_mmap() and dealing with deadlocks in the
    area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in
    general.
    * ->encode_fh() switched to saner API; insane fake dentry in
    mm/cleancache.c gone.
    * assorted annotations in fs (endianness, __user)
    * parts of Artem's ->s_dirty work (jff2 and reiserfs parts)
    * ->update_time() work from Josef.
    * other bits and pieces all over the place.

    Normally it would've been in two or three pull requests, but
    signal.git stuff had eaten a lot of time during this cycle ;-/"

    Fix up trivial conflicts in Documentation/filesystems/vfs.txt (the
    'truncate_range' inode method was removed by the VM changes, the VFS
    update adds an 'update_time()' method), and in fs/btrfs/ulist.[ch] (due
    to sparse fix added twice, with other changes nearby).

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)
    nfs: don't open in ->d_revalidate
    vfs: retry last component if opening stale dentry
    vfs: nameidata_to_filp(): don't throw away file on error
    vfs: nameidata_to_filp(): inline __dentry_open()
    vfs: do_dentry_open(): don't put filp
    vfs: split __dentry_open()
    vfs: do_last() common post lookup
    vfs: do_last(): add audit_inode before open
    vfs: do_last(): only return EISDIR for O_CREAT
    vfs: do_last(): check LOOKUP_DIRECTORY
    vfs: do_last(): make ENOENT exit RCU safe
    vfs: make follow_link check RCU safe
    vfs: do_last(): use inode variable
    vfs: do_last(): inline walk_component()
    vfs: do_last(): make exit RCU safe
    vfs: split do_lookup()
    Btrfs: move over to use ->update_time
    fs: introduce inode operation ->update_time
    reiserfs: get rid of resierfs_sync_super
    reiserfs: mark the superblock as dirty a bit later
    ...

    Linus Torvalds
     
  • Does block_sigmask() + tracehook_signal_handler(); called when
    sigframe has been successfully built. All architectures converted
    to it; block_sigmask() itself is gone now (merged into this one).

    I'm still not too happy with the signature, but that's a separate
    story (IMO we need a structure that would contain signal number +
    siginfo + k_sigaction, so that get_signal_to_deliver() would fill one,
    signal_delivered(), handle_signal() and probably setup...frame() -
    take one).

    Signed-off-by: Al Viro

    Al Viro
     
  • Only 3 out of 63 do not. Renamed the current variant to __set_current_blocked(),
    added set_current_blocked() that will exclude unblockable signals, switched
    open-coded instances to it.

    Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • Signed-off-by: Al Viro

    Al Viro
     
  • replace boilerplate "should we use ->saved_sigmask or ->blocked?"
    with calls of obvious inlined helper...

    Signed-off-by: Al Viro

    Al Viro
     
  • first fruits of ..._restore_sigmask() helpers: now we can take
    boilerplate "signal didn't have a handler, clear RESTORE_SIGMASK
    and restore the blocked mask from ->saved_mask" into a common
    helper. Open-coded instances switched...

    Signed-off-by: Al Viro

    Al Viro
     

01 Jun, 2012

1 commit

  • Pull second pile of signal handling patches from Al Viro:
    "This one is just task_work_add() series + remaining prereqs for it.

    There probably will be another pull request from that tree this
    cycle - at least for helpers, to get them out of the way for per-arch
    fixes remaining in the tree."

    Fix trivial conflict in kernel/irq/manage.c: the merge of Andrew's pile
    had brought in commit 97fd75b7b8e0 ("kernel/irq/manage.c: use the
    pr_foo() infrastructure to prefix printks") which changed one of the
    pr_err() calls that this merge moves around.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    keys: kill task_struct->replacement_session_keyring
    keys: kill the dummy key_replace_session_keyring()
    keys: change keyctl_session_to_parent() to use task_work_add()
    genirq: reimplement exit_irq_thread() hook via task_work_add()
    task_work_add: generic process-context callbacks
    avr32: missed _TIF_NOTIFY_RESUME on one of do_notify_resume callers
    parisc: need to check NOTIFY_RESUME when exiting from syscall
    move key_repace_session_keyring() into tracehook_notify_resume()
    TIF_NOTIFY_RESUME is defined on all targets now

    Linus Torvalds
     

31 May, 2012

1 commit


25 May, 2012

2 commits

  • Pull KVM changes from Avi Kivity:
    "Changes include additional instruction emulation, page-crossing MMIO,
    faster dirty logging, preventing the watchdog from killing a stopped
    guest, module autoload, a new MSI ABI, and some minor optimizations
    and fixes. Outside x86 we have a small s390 and a very large ppc
    update.

    Regarding the new (for kvm) rebaseless workflow, some of the patches
    that were merged before we switch trees had to be rebased, while
    others are true pulls. In either case the signoffs should be correct
    now."

    Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
    arch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.

    I suspect the kvm_para.h resolution ends up doing the "do I have cpuid"
    check effectively twice (it was done differently in two different
    commits), but better safe than sorry ;)

    * 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)
    KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block
    KVM: s390: onereg for timer related registers
    KVM: s390: epoch difference and TOD programmable field
    KVM: s390: KVM_GET/SET_ONEREG for s390
    KVM: s390: add capability indicating COW support
    KVM: Fix mmu_reload() clash with nested vmx event injection
    KVM: MMU: Don't use RCU for lockless shadow walking
    KVM: VMX: Optimize %ds, %es reload
    KVM: VMX: Fix %ds/%es clobber
    KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()
    KVM: VMX: unlike vmcs on fail path
    KVM: PPC: Emulator: clean up SPR reads and writes
    KVM: PPC: Emulator: clean up instruction parsing
    kvm/powerpc: Add new ioctl to retreive server MMU infos
    kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM
    KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
    KVM: PPC: Book3S: Enable IRQs during exit handling
    KVM: PPC: Fix PR KVM on POWER7 bare metal
    KVM: PPC: Fix stbux emulation
    KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner.

    Various trivial conflict fixups in arch Kconfig due to addition of
    unrelated entries nearby. And one slightly more subtle one for sparc32
    (new user of GENERIC_CLOCKEVENTS), fixed up as per Thomas.

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
    timekeeping: Fix a few minor newline issues.
    time: remove obsolete declaration
    ntp: Fix a stale comment and a few stray newlines.
    ntp: Correct TAI offset during leap second
    timers: Fixup the Kconfig consolidation fallout
    x86: Use generic time config
    unicore32: Use generic time config
    um: Use generic time config
    tile: Use generic time config
    sparc: Use: generic time config
    sh: Use generic time config
    score: Use generic time config
    s390: Use generic time config
    openrisc: Use generic time config
    powerpc: Use generic time config
    mn10300: Use generic time config
    mips: Use generic time config
    microblaze: Use generic time config
    m68k: Use generic time config
    m32r: Use generic time config
    ...

    Linus Torvalds
     

24 May, 2012

3 commits

  • Signed-off-by: Al Viro

    Al Viro
     
  • Pull first series of signal handling cleanups from Al Viro:
    "This is just the first part of the queue (about a half of it);
    assorted fixes all over the place in signal handling.

    This one ends with all sigsuspend() implementations switched to
    generic one (->saved_sigmask-based).

    With this, a bunch of assorted old buglets are fixed and most of the
    missing bits of NOTIFY_RESUME hookup are in place. Two more fixes sit
    in arm and um trees respectively, and there's a couple of broken ones
    that need obvious fixes - parisc and avr32 check TIF_NOTIFY_RESUME
    only on one of two codepaths; fixes for that will happen in the next
    series"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (55 commits)
    unicore32: if there's no handler we need to restore sigmask, syscall or no syscall
    xtensa: add handling of TIF_NOTIFY_RESUME
    microblaze: drop 'oldset' argument of do_notify_resume()
    microblaze: handle TIF_NOTIFY_RESUME
    score: add handling of NOTIFY_RESUME to do_notify_resume()
    m68k: add TIF_NOTIFY_RESUME and handle it.
    sparc: kill ancient comment in sparc_sigaction()
    h8300: missing checks of __get_user()/__put_user() return values
    frv: missing checks of __get_user()/__put_user() return values
    cris: missing checks of __get_user()/__put_user() return values
    powerpc: missing checks of __get_user()/__put_user() return values
    sh: missing checks of __get_user()/__put_user() return values
    sparc: missing checks of __get_user()/__put_user() return values
    avr32: struct old_sigaction is never used
    m32r: struct old_sigaction is never used
    xtensa: xtensa_sigaction doesn't exist
    alpha: tidy signal delivery up
    score: don't open-code force_sigsegv()
    cris: don't open-code force_sigsegv()
    blackfin: don't open-code force_sigsegv()
    ...

    Linus Torvalds
     
  • Pull fpu state cleanups from Ingo Molnar:
    "This tree streamlines further aspects of FPU handling by eliminating
    the prepare_to_copy() complication and moving that logic to
    arch_dup_task_struct().

    It also fixes the FPU dumps in threaded core dumps, removes and old
    (and now invalid) assumption plus micro-optimizes the exit path by
    avoiding an FPU save for dead tasks."

    Fixed up trivial add-add conflict in arch/sh/kernel/process.c that came
    in because we now do the FPU handling in arch_dup_task_struct() rather
    than the legacy (and now gone) prepare_to_copy().

    * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, fpu: drop the fpu state during thread exit
    x86, xsave: remove thread_has_fpu() bug check in __sanitize_i387_state()
    coredump: ensure the fpu state is flushed for proper multi-threaded core dump
    fork: move the real prepare_to_copy() users to arch_dup_task_struct()

    Linus Torvalds
     

22 May, 2012

4 commits

  • As described in e6fa16ab ("signal: sigprocmask() should do
    retarget_shared_pending()") the modification of current->blocked is
    incorrect as we need to check whether the signal we're about to block is
    pending in the shared queue.

    Also, use the new helper function introduced in commit 5e6292c0f28f
    ("signal: add block_sigmask() for adding sigmask to current->blocked")
    which centralises the code for updating current->blocked after
    successfully delivering a signal and reduces the amount of duplicate code
    across architectures. In the past some architectures got this code wrong,
    so using this helper function should stop that from happening again.

    Acked-by: Oleg Nesterov
    Acked-by: David Howells
    Cc: Koichi Yasutake
    Cc: Al Viro
    Signed-off-by: Matt Fleming
    Signed-off-by: Andrew Morton
    Signed-off-by: Al Viro

    Matt Fleming
     
  • guts of saved_sigmask-based sigsuspend/rt_sigsuspend. Takes
    kernel sigset_t *.

    Open-coded instances replaced with calling it.

    Signed-off-by: Al Viro

    Al Viro
     
  • Pull smp hotplug cleanups from Thomas Gleixner:
    "This series is merily a cleanup of code copied around in arch/* and
    not changing any of the real cpu hotplug horrors yet. I wish I'd had
    something more substantial for 3.5, but I underestimated the lurking
    horror..."

    Fix up trivial conflicts in arch/{arm,sparc,x86}/Kconfig and
    arch/sparc/include/asm/thread_info_32.h

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (79 commits)
    um: Remove leftover declaration of alloc_task_struct_node()
    task_allocator: Use config switches instead of magic defines
    sparc: Use common threadinfo allocator
    score: Use common threadinfo allocator
    sh-use-common-threadinfo-allocator
    mn10300: Use common threadinfo allocator
    powerpc: Use common threadinfo allocator
    mips: Use common threadinfo allocator
    hexagon: Use common threadinfo allocator
    m32r: Use common threadinfo allocator
    frv: Use common threadinfo allocator
    cris: Use common threadinfo allocator
    x86: Use common threadinfo allocator
    c6x: Use common threadinfo allocator
    fork: Provide kmemcache based thread_info allocator
    tile: Use common threadinfo allocator
    fork: Provide weak arch_release_[task_struct|thread_info] functions
    fork: Move thread info gfp flags to header
    fork: Remove the weak insanity
    sh: Remove cpu_idle_wait()
    ...

    Linus Torvalds
     
  • Sigh, I missed to check which architecture Kconfig files actually
    include the core Kconfig file. There are a few which did not. So we
    broke them.

    Instead of adding the includes to those, we are better off to move the
    include to init/Kconfig like we did already with irqs and others.

    This does not change anything for the architectures using the old
    style periodic timer mode. It just solves the build wreckage there.

    For those architectures which use the clock events infrastructure it
    moves the include of the core Kconfig file to "General setup" which is
    a way more logical place than having it at random locations specified
    by the architecture specific Kconfigs.

    Reported-by: Ingo Molnar
    Cc: Anna-Maria Gleixner
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

21 May, 2012

1 commit


17 May, 2012

1 commit

  • Historical prepare_to_copy() is mostly a no-op, duplicated for majority of
    the architectures and the rest following the x86 model of flushing the extended
    register state like fpu there.

    Remove it and use the arch_dup_task_struct() instead.

    Suggested-by: Oleg Nesterov
    Suggested-by: Linus Torvalds
    Signed-off-by: Suresh Siddha
    Link: http://lkml.kernel.org/r/1336692811-30576-1-git-send-email-suresh.b.siddha@intel.com
    Acked-by: Benjamin Herrenschmidt
    Cc: David Howells
    Cc: Koichi Yasutake
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: Chris Zankel
    Cc: Richard Henderson
    Cc: Russell King
    Cc: Haavard Skinnemoen
    Cc: Mike Frysinger
    Cc: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: Mikael Starvik
    Cc: Yoshinori Sato
    Cc: Richard Kuo
    Cc: Tony Luck
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: Jonas Bonn
    Cc: James E.J. Bottomley
    Cc: Helge Deller
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: David S. Miller
    Cc: Chris Metcalf
    Cc: Jeff Dike
    Cc: Richard Weinberger
    Cc: Guan Xuetao
    Signed-off-by: H. Peter Anvin

    Suresh Siddha
     

16 May, 2012

1 commit


08 May, 2012

1 commit


05 May, 2012

2 commits

  • Now that all archs except ia64 are converted, replace the config and
    let the ia64 select CONFIG_ARCH_INIT_TASK

    Signed-off-by: Thomas Gleixner
    Link: http://lkml.kernel.org/r/20120503085035.867948914@linutronix.de

    Thomas Gleixner
     
  • Same code. Use the generic version. The special Makefile treatment is
    pointless anyway as init_task.o contains only data which is handled by
    the linker script. So no point on being treated like head text.

    Signed-off-by: Thomas Gleixner
    Acked-by: David Howells
    Link: http://lkml.kernel.org/r/20120503085035.011270394@linutronix.de

    Thomas Gleixner