On Fri, 2008-12-26 at 11:59 +1100, Paul Mackerras wrote: > > > diff -puN > > arch/powerpc/mm/numa.c~2628-rc9-panics-with-crashkernel=256m-while-booting > > arch/powerpc/mm/numa.c > > --- > > a/arch/powerpc/mm/numa.c~2628-rc9-panics-with-crashkernel=256m-while-booting > > +++ a/arch/powerpc/mm/numa.c > > @@ -995,10 +995,11 @@ void __init do_init_bootmem(void) > > start_pfn, end_pfn); > > > > free_bootmem_with_active_regions(nid, end_pfn); > > + } > > + > > + for_each_online_node(nid) { > > /* > > - * Be very careful about moving this around. Future > > - * calls to careful_allocation() depend on this getting > > - * done correctly. > > + * Be very careful about moving this around. > > */ > > mark_reserved_regions_for_nid(nid); > > sparse_memory_present_with_active_regions(nid);
I think this reintroduces one of the bugs that I squashed. You *have* to call mark_reserved_regions_for_nid() right after you do free_bootmem_with_active_regions(). Otherwise, someone else can bootmem_alloc() a reserved region from that node. Perhaps I need to make that comment a bit more forceful. :) /* * Don't break this loop out. Period. Never. Ever. * No, seriously. Don't do it. I mean it. Really! */ -- Dave _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev