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]