linux/kernel/sched
Stephen Dickey fe6f4b82d6 ANDROID: sched/core: prevent timers on paused cpus
The pause feature is designed to keep CPUs idle as
much as possible.

When the timers migration feature is enabled (with
sysctl_timer_migration = 1 ) timer/hrtimer can be
migrated to other CPUs than the CPU currently
queueing the CPU. For example, a pinned kworker
runs on a paused CPU and queued the timer. The
other use case is an interrupt coming on paused CPU
and queueing the time.

Update the get nohz cpu path to use the active
and online masks to prevent paused cpus from
being woken up to queue a timer.

Bug: 161210528
Change-Id: I3707164ab6ea35cb6202b6c6b2018e1583c3e95c
Signed-off-by: Stephen Dickey <dickey@codeaurora.org>
2021-01-29 10:54:29 +00:00
..
autogroup.c
autogroup.h
clock.c sched/clock: Use static_branch_likely() with sched_clock_running 2019-11-29 08:10:54 +01:00
completion.c completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all() 2020-03-23 18:40:25 +01:00
core.c ANDROID: sched/core: prevent timers on paused cpus 2021-01-29 10:54:29 +00:00
cpuacct.c sched/cpuacct: Fix charge cpuacct.usage_sys 2020-05-19 20:34:14 +02:00
cpudeadline.c sched/deadline: Implement fallback mechanism for !fit case 2020-06-15 14:10:05 +02:00
cpudeadline.h
cpufreq_schedutil.c ANDROID: schedutil: add vendor hook for adjusting util to freq calculation 2021-01-19 20:33:51 +00:00
cpufreq.c cpufreq: Avoid leaving stale IRQ work items during CPU offline 2019-12-12 17:59:43 +01:00
cpupri.c ANDROID: sched: Export symbol for vendor RT hook funcion 2021-01-12 12:57:37 -08:00
cpupri.h sched/rt: Optimize cpupri_find() on non-heterogenous systems 2020-03-06 12:57:27 +01:00
cputime.c ANDROID: Sched: Add restricted vendor hooks for scheduler 2020-12-03 19:20:26 +00:00
deadline.c sched/deadline: Fix sched_dl_global_validate() 2020-12-30 11:52:59 +01:00
debug.c ANDROID: Sched: Add export symbols for sched features 2021-01-12 22:01:04 +00:00
fair.c ANDROID: sched: add em_cpu_energy vendor hook 2021-01-21 08:38:56 -08:00
features.h sched/rt: Disable RT_RUNTIME_SHARE by default 2020-09-25 14:23:24 +02:00
idle.c sched/idle: Fix arch_cpu_idle() vs tracing 2020-11-24 16:47:35 +01:00
isolation.c isolcpus: Affine unbound kernel threads to housekeeping cpus 2020-06-15 14:10:03 +02:00
loadavg.c ANDROID: GKI: loadavg: Export for get_avenrun 2020-08-12 15:08:42 +00:00
Makefile kcsan: Improve various small stylistic details 2019-11-20 10:47:23 +01:00
membarrier.c membarrier: Execute SYNC_CORE on the calling thread 2020-12-09 09:37:43 +01:00
pelt.c ANDROID: sched: Export symbols for vendor EAS wakup path function 2020-11-27 16:31:17 +00:00
pelt.h sched/pelt: Cleanup PELT divider 2020-06-15 14:10:06 +02:00
psi.c sched,psi: Convert to sched_set_fifo_low() 2020-06-15 14:10:25 +02:00
rt.c ANDROID: sched: Add restrict vendor hooks for balance_rt() 2021-01-28 08:48:23 +00:00
sched-pelt.h
sched.h ANDROID: sched: Add restrict vendor hooks for balance_rt() 2021-01-28 08:48:23 +00:00
smp.h sched/headers: Split out open-coded prototypes into kernel/sched/smp.h 2020-05-28 11:03:20 +02:00
stats.c
stats.h psi: Move PF_MEMSTALL out of task->flags 2020-03-20 13:06:19 +01:00
stop_task.c treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
swait.c sched/swait: Prepare usage in completions 2020-03-21 16:00:23 +01:00
topology.c ANDROID: sched: Export sched_domains_mutex for lockdep 2021-01-13 19:25:54 +00:00
wait_bit.c sched/wait: fix ___wait_var_event(exclusive) 2019-12-17 13:32:50 +01:00
wait.c ANDROID: attribute page lock and waitqueue functions as sched 2020-11-27 16:23:19 +00:00