Messages in this thread | | | Date | Mon, 27 Aug 2007 19:47:14 +0000 | From | Mike Travis <> | 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@sgi.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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |