10 Apr, 2012

5 commits


29 Mar, 2012

3 commits

  • This has been obsolescent for a while; time for the final push.

    In adjacent context, replaced old cpus_* with cpumask_*.

    Signed-off-by: Rusty Russell
    Acked-by: David S. Miller (arch/sparc)
    Acked-by: Chris Metcalf (arch/tile)
    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: Russell King
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: Richard Kuo
    Cc: linux-hexagon@vger.kernel.org
    Cc: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Cc: Kyle McMartin
    Cc: Helge Deller
    Cc: sparclinux@vger.kernel.org

    Rusty Russell
     
  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Remove all #inclusions of asm/system.h preparatory to splitting and killing
    it. Performed with the following command:

    perl -p -i -e 's!^#\s*include\s*.*\n!!' `grep -Irl '^#\s*include\s*' *`

    Signed-off-by: David Howells

    David Howells
     

28 Mar, 2012

1 commit

  • Pull UML changes from Richard Weinberger:
    "Mostly bug fixes and cleanups"

    * 'for-linus-3.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: (35 commits)
    um: Update defconfig
    um: Switch to large mcmodel on x86_64
    MTD: Relax dependencies
    um: Wire CONFIG_GENERIC_IO up
    um: Serve io_remap_pfn_range()
    Introduce CONFIG_GENERIC_IO
    um: allow SUBARCH=x86
    um: most of the SUBARCH uses can be killed
    um: deadlock in line_write_interrupt()
    um: don't bother trying to rebuild CHECKFLAGS for USER_OBJS
    um: use the right ifdef around exports in user_syms.c
    um: a bunch of headers can be killed by using generic-y
    um: ptrace-generic.h doesn't need user.h
    um: kill HOST_TASK_PID
    um: remove pointless include of asm/fixmap.h from asm/pgtable.h
    um: asm-offsets.h might as well come from underlying arch...
    um: merge processor_{32,64}.h a bit...
    um: switch close_chan() to struct line
    um: race fix: initialize delayed_work *before* registering IRQ
    um: line->have_irq is never checked...
    ...

    Linus Torvalds
     

25 Mar, 2012

30 commits


24 Mar, 2012

1 commit

  • As described in commit e6fa16ab9c1e ("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
    Cc: Richard Weinberger
    Signed-off-by: Matt Fleming
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Fleming