sched/core: Move task_rq_lock() out of line
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: Peter 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: Ingo Molnar <mingo@kernel.org>