On Fri, 2005-03-11 at 19:25 +0000, Hugh Dickins wrote: > This used to work fine, but around the time your abstract discontigmem > patches went into -mm, the resulting kernel failed to boot - blank > screen after grub for a few seconds, until it reboots again. And now > your patches have just gone into mainline, that resulting kernel fails > to boot. I've not done a binary search to identify any one of your > patches as the culprit, but you are my Number One suspect ;) Hugh, you caught me. There is, indeed, a bug booting with CONFIG_NUMA=y, CONFIG_X86_GENERICARCH=y, and booting on a non-NUMA system. While not the most common configuration, it should surely be supported. memmap_init_zone() is the first user to do pfn_to_nid(), which relies on physnode_map[] to be done properly. memory_present() was supposed to do that, but never got called for the flat configuration, so pfn_to_nid() was returning -1 on valid pages. Andrew, please apply and forward the attached patch on to Linus. It affects code currently in -bk. Test compiled and booted on 4-way non-NUMA x86 system. -- Dave