On Fri, 21 Feb 2014, Nishanth Aravamudan wrote: > I added two calls to local_memory_node(), I *think* both are necessary, > but am willing to be corrected. > > One is in map_cpu_to_node() and one is in start_secondary(). The > start_secondary() path is fine, AFAICT, as we are up & running at that > point. But in [the renamed function] update_numa_cpu_node() which is > used by hotplug, we get called from do_init_bootmem(), which is before > the zonelists are setup. > > I think both calls are necessary because I believe the > arch_update_cpu_topology() is used for supporting firmware-driven > home-noding, which does not invoke start_secondary() again (the > processor is already running, we're just updating the topology in that > situation). > > Then again, I could special-case the do_init_bootmem callpath, which is > only called at kernel init time? Well taht looks to be simpler. > > I do agree that calling local_memory_node() too early then trying to > > fudge around the consequences seems rather wrong. > > If the answer is to simply not call local_memory_node() early, I'll > submit a patch to at least add a comment, as there's nothing in the code > itself to prevent this from happening and is guaranteed to oops. Ok. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>