> +struct page_autonuma *lookup_page_autonuma(struct page *page) > +{ > + unsigned long pfn = page_to_pfn(page); > + unsigned long offset; > + struct page_autonuma *base; > + > + base = NODE_DATA(page_to_nid(page))->node_page_autonuma; > +#ifdef CONFIG_DEBUG_VM > + /* > + * The sanity checks the page allocator does upon freeing a > + * page can reach here before the page_autonuma arrays are > + * allocated when feeding a range of pages to the allocator > + * for the first time during bootup or memory hotplug. > + */ > + if (unlikely(!base)) > + return NULL; > +#endif When using CONFIG_DEBUG_VM, please just use BUG_ON instead of additional sanity check. Otherwise only MM people might fault to find a real bug. And I have additional question here. What's happen if memory hotplug occur and several autonuma_last_nid will point to invalid node id? My quick skimming didn't find hotplug callback code. -- 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>