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
..
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
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
Makefile
sched/idle: Merge kernel/sched/idle.c and kernel/sched/idle_task.c
2018-03-04 12:39:33 +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
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
stop_task.c
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