[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [patch 04/18] smp: Provide generic idle thread allocation



On Fri, Apr 20, 2012 at 01:05:45PM -0000, 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
> +

Symbols we select in arch Kconfig files are often named HAVE_*
And no matter the name - a comment preceeding the definition of the symbol
would be nice so it is possible to deduct the use of the symbol
in a few years time when this thread is long forgotten.

	Sam
--
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


[Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Photo]     [Yosemite]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]


  Powered by Linux