Re: [PATCH] online CPU before memory failed in pcpu_alloc_pages()

From: Lee Schermerhorn
Date: Fri May 21 2010 - 08:33:19 EST


On Fri, 2010-05-21 at 13:44 +0900, KAMEZAWA Hiroyuki wrote:
> On Fri, 21 May 2010 10:55:12 +1000
> Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> > Hi Andrew,
> >
> > On Thu, 20 May 2010 13:43:59 -0700 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > --- a/mm/percpu.c
> > > > +++ b/mm/percpu.c
> > > > @@ -714,13 +714,29 @@ static int pcpu_alloc_pages(struct pcpu_chunk *chunk,
> > >
> > > In linux-next, Tejun has gone and moved pcpu_alloc_pages() into the new
> > > mm/percpu-vm.c. So either
> >
> > This has gone into Linus' tree today ...
> >
>
> Hmm, a comment here.
>
> Recently, Lee Schermerhorn developed
>
> numa-introduce-numa_mem_id-effective-local-memory-node-id-fix2.patch
>
> Then, you can use cpu_to_mem() instead of cpu_to_node() to find the
> nearest available node.
> I don't check cpu_to_mem() is synchronized with NUMA hotplug but
> using cpu_to_mem() rather than adding
> =
>
> + if ((nid == -1) ||
> + !(node_zonelist(nid, GFP_KERNEL)->_zonerefs->zone))
> + nid = numa_node_id();
> +
> ==
>
> is better.


Kame-san, all:

numa_mem_id() and cpu_to_mem() are not supported [yet] on x86 because
x86 hides all memoryless nodes and moves cpus to "nearby" [for some
definition thereof] nodes with memory. So, these interfaces just return
numa_node_id() and cpu_to_node() for x86. Perhaps that will change
someday...

Lee


>
> Thanks,
> -Kame
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/