[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.SGI.4.56.0708271940550.4346753@kluge.engr.sgi.com>
Date: Mon, 27 Aug 2007 19:47:14 +0000
From: Mike Travis <travis@...ulhu.engr.sgi.com>
To: "Siddha, Suresh B" <suresh.b.siddha@...el.com>
cc: travis@....com, Andi Kleen <ak@...e.de>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
Andrew Morton <akpm@...ux-foundation.org>,
Christoph Lameter <clameter@....com>
Subject: Re: [PATCH 1/6] x86: fix cpu_to_node references (v2)
On Fri, 24 Aug 2007, Siddha, Suresh B wrote:
> On Fri, Aug 24, 2007 at 03:26:55PM -0700, travis@....com wrote:
> > Fix four instances where cpu_to_node is referenced
> > by array instead of via the cpu_to_node macro. This
> > is preparation to moving it to the per_cpu data area.
> >
> ...
>
> > unsigned long __init numa_free_all_bootmem(void)
> > --- a/arch/x86_64/mm/srat.c
> > +++ b/arch/x86_64/mm/srat.c
> > @@ -431,9 +431,9 @@
> > setup_node_bootmem(i, nodes[i].start, nodes[i].end);
> >
> > for (i = 0; i < NR_CPUS; i++) {
> > - if (cpu_to_node[i] == NUMA_NO_NODE)
> > + if (cpu_to_node(i) == NUMA_NO_NODE)
> > continue;
> > - if (!node_isset(cpu_to_node[i], node_possible_map))
> > + if (!node_isset(cpu_to_node(i), node_possible_map))
> > numa_set_node(i, NUMA_NO_NODE);
> > }
> > numa_init_array();
>
> During this particular routine execution, per cpu areas are not yet setup. In
> future, when we make cpu_to_node(i) use per cpu area, then this code will break.
>
> And actually setup_per_cpu_areas() uses cpu_to_node(). So...
>
I have a scheme to use an __initdata array during __init processing which
is removed after the per cpu data area is setup. I'm looking more closely
at all the various node <--> cpu tables.
Thanks,
Mike
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists