linux/arch
Peter Zijlstra (Intel) e9d867a67f sched: Allow per-cpu kernel threads to run on online && !active
In order to enable symmetric hotplug, we must mirror the online &&
!active state of cpu-down on the cpu-up side.

However, to retain sanity, limit this state to per-cpu kthreads.

Aside from the change to set_cpus_allowed_ptr(), which allow moving
the per-cpu kthreads on, the other critical piece is the cpu selection
for pinned tasks in select_task_rq(). This avoids dropping into
select_fallback_rq().

select_fallback_rq() cannot be allowed to select !active cpus because
its used to migrate user tasks away. And we do not want to move user
tasks onto cpus that are in transition.

Requested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: Jan H. Schönherr <jschoenh@amazon.de>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160301152303.GV6356@twins.programming.kicks-ass.net
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-05-06 14:58:22 +02:00
..
alpha
arc ARC: add support for reserved memory defined by device tree 2016-04-27 17:06:56 +05:30
arm Here are the latest bug fixes for ARM SoCs, mostly addressing 2016-04-26 16:17:01 -07:00
arm64 Here are the latest bug fixes for ARM SoCs, mostly addressing 2016-04-26 16:17:01 -07:00
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
m68k Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2016-04-13 08:58:32 -07:00
metag
microblaze
mips
mn10300
nios2 nios2: memset: use the right constraint modifier for the %4 output operand 2016-04-27 16:35:55 +08:00
openrisc
parisc Merge branch 'parisc-4.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2016-04-15 14:51:45 -07:00
powerpc sched: Allow per-cpu kernel threads to run on online && !active 2016-05-06 14:58:22 +02:00
s390 sched: Allow per-cpu kernel threads to run on online && !active 2016-05-06 14:58:22 +02:00
score
sh
sparc
tile
um
unicore32
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-04-28 20:24:27 -07:00
xtensa
.gitignore
Kconfig