On 04/20/12 06:05, Thomas Gleixner wrote: > All SMP architectures have magic to fork the idle task and to store it > for reusage when cpu hotplug is enabled. Provide a generic > infrastructure for it. > > Create/reinit the idle thread for the cpu which is brought up in the > generic code and hand the thread pointer to the architecture code via > __cpu_up(). > > Note, that fork_idle() is called via a workqueue, because this > guarantees that the idle thread does not get a reference to a user > space VM. This can happen when the boot process did not bring up all > possible cpus and a later cpu_up() is initiated via the sysfs > interface. In that case fork_idle() would be called in the context of > the user space task and take a reference on the user space VM. > > Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > Cc: Matt Turner <mattst88@xxxxxxxxx> > Cc: Russell King <linux@xxxxxxxxxxxxxxxx> > Cc: Mike Frysinger <vapier@xxxxxxxxxx> > Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> > Cc: Richard Kuo <rkuo@xxxxxxxxxxxxxx> > Cc: Tony Luck <tony.luck@xxxxxxxxx> > Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> > Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > Cc: David Howells <dhowells@xxxxxxxxxx> > Cc: "James E.J. Bottomley" <jejb@xxxxxxxxxxxxxxxx> > Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> > Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> > Cc: Paul Mundt <lethal@xxxxxxxxxxxx> > Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> > Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> > Cc: Richard Weinberger <richard@xxxxxx> > Cc: x86@xxxxxxxxxx > --- > arch/Kconfig | 3 + > kernel/cpu.c | 2 - > kernel/sched/core.c | 2 + > kernel/smpboot.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > kernel/smpboot.h | 10 ++++++ > 5 files changed, 99 insertions(+), 1 deletion(-) > > Index: linux-2.6/arch/Kconfig > =================================================================== > --- linux-2.6.orig/arch/Kconfig > +++ linux-2.6/arch/Kconfig > @@ -145,6 +145,9 @@ config HAVE_DMA_ATTRS > config USE_GENERIC_SMP_HELPERS > bool > > +config GENERIC_SMP_IDLE_THREAD > + bool ^^^^^ This _appears_ to be spaces instead of a tab. Hopefully not a false alarm, I know my mail servers randomly change tabs to spaces, just to mess with me, but I double checked at the lkml archive. > + > config HAVE_REGS_AND_STACK_ACCESS_API > bool > help < snip > - Frank -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html