Peter Zijlstra
175f0e25ab
sched/core: Fix rules for running on online && !active CPUs
...
As already enforced by the WARN() in __set_cpus_allowed_ptr(), the rules
for running on an online && !active CPU are stricter than just being a
kthread, you need to be a per-cpu kthread.
If you're not strictly per-CPU, you have better CPUs to run on and
don't need the partially booted one to get your work done.
The exception is to allow smpboot threads to bootstrap the CPU itself
and get kernel 'services' initialized before we allow userspace on it.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: 955dbdf4ce ("sched: Allow migrating kthreads into online but inactive CPUs")
Link: http://lkml.kernel.org/r/20170725165821.cejhb7v2s3kecems@hirez.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-05-31 12:24:24 +02:00
..
autogroup.c
sched/autogroup: Fix possible Spectre-v1 indexing for sched_prio_to_weight[]
2018-05-05 08:34:42 +02: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/completions: Use bool in try_wait_for_completion()
2018-03-09 08:00:18 +01:00
core.c
sched/core: Fix rules for running on online && !active CPUs
2018-05-31 12:24:24 +02: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: Avoid using invalid next_freq
2018-05-09 12:21:17 +02: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
sched/deadline: Make the grub_reclaim() function static
2018-05-18 09:05:22 +02:00
debug.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-04-02 11:49:41 -07:00
fair.c
Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-05-13 10:53:08 -07:00
features.h
sched/fair: Update util_est only on util_avg updates
2018-03-20 08:11:09 +01:00
idle.c
sched: idle: Select idle state before stopping the tick
2018-04-09 11:54:07 +02: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
sched/debug: Move the print_rt_rq() and print_dl_rq() declarations to kernel/sched/sched.h
2018-05-18 09:05:14 +02:00
sched-pelt.h
sched.h
sched/debug: Move the print_rt_rq() and print_dl_rq() declarations to kernel/sched/sched.h
2018-05-18 09:05:14 +02: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/topology: Clarify root domain(s) debug string
2018-05-25 08:03:38 +02: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/wait: Improve __var_waitqueue() code generation
2018-03-20 08:23:25 +01:00