• Peter Zijlstra's avatar
    sched/core: Move task_rq_lock() out of line · 3e71a462
    Peter Zijlstra authored
    Its a rather large function, inline doesn't seems to make much sense:
    
     $ size defconfig-build/kernel/sched/core.o{.orig,}
        text    data     bss     dec     hex filename
       56533   21037    2320   79890   13812 defconfig-build/kernel/sched/core.o.orig
       55733   21037    2320   79090   134f2 defconfig-build/kernel/sched/core.o
    
    The 'perf bench sched messaging' micro-benchmark shows a visible improvement
    of 4-5%:
    
      $ for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor ; do echo performance > $i ; done
      $ perf stat --null --repeat 25 -- perf bench sched messaging -g 40 -l 5000
    
      pre:
           4.582798193 seconds time elapsed          ( +-  1.41% )
           4.733374877 seconds time elapsed          ( +-  2.10% )
           4.560955136 seconds time elapsed          ( +-  1.43% )
           4.631062303 seconds time elapsed          ( +-  1.40% )
    
      post:
           4.364765213 seconds time elapsed          ( +-  0.91% )
           4.454442734 seconds time elapsed          ( +-  1.18% )
           4.448893817 seconds time elapsed          ( +-  1.41% )
           4.424346872 seconds time elapsed          ( +-  0.97% )
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Mike Galbraith <efault@gmx.de>
    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>
    3e71a462
core.c 210 KB