13 Sep, 2012

1 commit

  • Break out the DEBUG_SPINLOCK dependency (requires moving up
    UNINLINE_SPIN_UNLOCK, as this was the only one in that block not
    depending on that option).

    Avoid putting values not selected into the resulting .config -
    they are not useful for anything, make the output less legible,
    and just consume space: Use "depends on" rather than directly
    setting the default from the combined dependency values.

    Signed-off-by: Jan Beulich
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/504DF2AC020000780009A2DF@nat28.tlf.novell.com
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

23 Mar, 2012

1 commit

  • Get rid of INLINE_SPIN_UNLOCK entirely replacing it with
    UNINLINE_SPIN_UNLOCK instead of the reverse meaning.

    Whoever wants to change the default spinlock inlining
    behavior and uninline the spinlocks for some weird reason,
    such as spinlock debugging, paravirt etc. can now all just
    select UNINLINE_SPIN_UNLOCK

    Original discussion at: https://lkml.org/lkml/2012/3/21/357

    Suggested-by: Linus Torvalds
    Signed-off-by: Raghavendra K T
    Cc: Linus Torvalds
    Cc: Ralf Baechle
    Cc: Chris Metcalf
    Cc: Chris Zankel
    Cc: linux-mips@linux-mips.org
    Link: http://lkml.kernel.org/r/20120322095502.30866.75756.sendpatchset@codeblue
    [ tidied up the changelog a bit ]
    Signed-off-by: Ingo Molnar

    Raghavendra K T
     

10 Apr, 2011

1 commit


03 Dec, 2009

1 commit


14 Nov, 2009

1 commit

  • commit 892a7c67 (locking: Allow arch-inlined spinlocks) implements the
    selection of which lock functions are inlined based on defines in
    arch/.../spinlock.h: #define __always_inline__LOCK_FUNCTION

    Despite of the name __always_inline__* the lock functions can be built
    out of line depending on config options. Also if the arch does not set
    some inline defines the generic code might set them; again depending on
    config options.

    This makes it unnecessary hard to figure out when and which lock
    functions are inlined. Aside of that it makes it way harder and
    messier for -rt to manipulate the lock functions.

    Convert the inlining decision to CONFIG switches. Each lock function
    is inlined depending on CONFIG_INLINE_*. The configs implement the
    existing dependencies. The architecture code can select ARCH_INLINE_*
    to signal that it wants the corresponding lock function inlined.
    ARCH_INLINE_* is necessary as Kconfig ignores "depends on"
    restrictions when a config element is selected.

    No functional change.

    Signed-off-by: Thomas Gleixner
    LKML-Reference:
    Acked-by: Heiko Carstens
    Reviewed-by: Ingo Molnar
    Acked-by: Peter Zijlstra

    Thomas Gleixner