]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Optimize finish_lock_switch()
authorPeter Zijlstra <peterz@infradead.org>
Thu, 10 Dec 2020 16:14:08 +0000 (17:14 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 15 Dec 2020 10:27:53 +0000 (11:27 +0100)
commit8a8ff70fcfdf47bc608b3951d52a4c9fe7e82a7e
tree64bdf7a8cddcc7a2c2631a107dee1b5bbc4e7405
parentdf34218db2e9e272594219f30fd4d61624bd9260
sched: Optimize finish_lock_switch()

The kernel test robot measured a -1.6% performance regression on
will-it-scale/sched_yield due to commit:

  7ea40af490cd ("sched/hotplug: Ensure only per-cpu kthreads run during hotplug")

Even though we were careful to replace a single load with another
single load from the same cacheline.

Restore finish_lock_switch() to the exact state before the offending
patch and solve the problem differently.

Fixes: 7ea40af490cd ("sched/hotplug: Ensure only per-cpu kthreads run during hotplug")
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20201210161408.GX3021@hirez.programming.kicks-ass.net
kernel/sched/core.c
kernel/sched/sched.h