• Peter Zijlstra's avatar
    locking/mutex: Improve inlining · 427b1820
    Peter Zijlstra authored
    Instead of inlining __mutex_lock_common() 5 times, once for each
    {state,ww} variant. Reduce this to two, ww and !ww.
    
    Then add __always_inline to mutex_optimistic_spin(), so that that will
    get inlined all 4 remaining times, for all {waiter,ww} variants.
    
       text    data     bss     dec     hex filename
    
       6301       0       0    6301    189d defconfig-build/kernel/locking/mutex.o
       4053       0       0    4053     fd5 defconfig-build/kernel/locking/mutex.o
       4257       0       0    4257    10a1 defconfig-build/kernel/locking/mutex.o
    
    This reduces total text size and better separates the ww and !ww mutex
    code generation.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    427b1820
mutex.c 29.6 KB