Re: [PATCH] fix cpu hotplug

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

 



Anton Blanchard <[email protected]> wrote:
>
> 
> Hi,
> 
> CPU hotplug was broken by the __meminit changes. Avoid the madness of
> creating a mem+cpu hotplug init attribute and just make them __devinit.
> 
> Anton
> 
> Signed-off-by: Anton Blanchard <[email protected]>
> ---
> 
> Index: build/mm/page_alloc.c
> ===================================================================
> --- build.orig/mm/page_alloc.c	2006-02-02 12:20:50.000000000 +1100
> +++ build/mm/page_alloc.c	2006-02-02 13:14:56.000000000 +1100
> @@ -1799,7 +1799,7 @@ void zonetable_add(struct zone *zone, in
>  	memmap_init_zone((size), (nid), (zone), (start_pfn))
>  #endif
>  
> -static int __meminit zone_batchsize(struct zone *zone)
> +static int __devinit zone_batchsize(struct zone *zone)
>  {
>  	int batch;
>  
> @@ -1893,7 +1893,7 @@ static struct per_cpu_pageset
>   * Dynamically allocate memory for the
>   * per cpu pageset array in struct zone.
>   */
> -static int __meminit process_zones(int cpu)
> +static int __devinit process_zones(int cpu)
>  {
>  	struct zone *zone, *dzone;
>  
> @@ -1934,7 +1934,7 @@ static inline void free_zone_pagesets(in
>  	}
>  }
>  
> -static int __meminit pageset_cpuup_callback(struct notifier_block *nfb,
> +static int __devinit pageset_cpuup_callback(struct notifier_block *nfb,
>  		unsigned long action,
>  		void *hcpu)
>  {

These are __cpuinit in Linus's current tree.  Which probably means that
we're busted with hotplug-memory && !hotplug-cpu.

I don't think we want to make these __devinit, because that would penalise
systems which are hotplug && !hotplug-memory && !hotplug-cpu, which are the
systems which can least afford the memory waste.

So really, yes, we need the madness of mem+cpu.

Or we can do

static int __cpuinit __meminit foo(void)
{
}

Which actually seems to work.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux