linux/kernel/sched
Peter Zijlstra 00357f5ec5 sched/nohz: Clean up nohz enter/exit
The primary observation is that nohz enter/exit is always from the
current CPU, therefore NOHZ_TICK_STOPPED does not in fact need to be
an atomic.

Secondary is that we appear to have 2 nearly identical hooks in the
nohz enter code, set_cpu_sd_state_idle() and
nohz_balance_enter_idle(). Fold the whole set_cpu_sd_state thing into
nohz_balance_{enter,exit}_idle.

Removes an atomic op from both enter and exit paths.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
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>
2018-03-09 07:59:19 +01:00
..
Makefile sched/idle: Merge kernel/sched/idle.c and kernel/sched/idle_task.c 2018-03-04 12:39:33 +01:00
autogroup.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
autogroup.h sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
clock.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
completion.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
core.c sched/nohz: Clean up nohz enter/exit 2018-03-09 07:59:19 +01:00
cpuacct.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cpudeadline.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cpudeadline.h sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cpufreq.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cpufreq_schedutil.c cpufreq/schedutil: Rewrite CPUFREQ_RT support 2018-03-09 07:59:15 +01:00
cpupri.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cpupri.h sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
cputime.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
deadline.c cpufreq/schedutil: Remove unused CPUFREQ_DL 2018-03-09 07:59:14 +01:00
debug.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
fair.c sched/nohz: Clean up nohz enter/exit 2018-03-09 07:59:19 +01:00
features.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idle.c sched/idle: Merge kernel/sched/idle.c and kernel/sched/idle_task.c 2018-03-04 12:39:33 +01:00
isolation.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
loadavg.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
membarrier.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
rt.c cpufreq/schedutil: Rewrite CPUFREQ_RT support 2018-03-09 07:59:15 +01:00
sched-pelt.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sched.h sched/nohz: Clean up nohz enter/exit 2018-03-09 07:59:19 +01:00
stats.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
stats.h sched: Clean up and harmonize the coding style of the scheduler code base 2018-03-03 15:50:21 +01:00
stop_task.c sched: Clean up and harmonize the coding style of the scheduler code base 2018-03-03 15:50:21 +01:00
swait.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
topology.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
wait.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00
wait_bit.c sched/headers: Simplify and clean up header usage in the scheduler 2018-03-04 12:39:29 +01:00