vmemmap_verify() BUGs during memory hotplug (4.2-rc1 regression)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mel,

As of commit 8a942fdea560d4ac0e9d9fabcd5201ad20e0c382 (mm: meminit: make
__early_pfn_to_nid SMP-safe and introduce meminit_pfn_in_nid)
vmemmap_verify() will BUG_ON() during memory hotplug because of its use
of early_pfn_to_nid().  Previously, it would have reported bogus (or
failed to report valid) warnings.

I believe this does not affect memory hotplug on most x86 systems
because vmemmap_populate() would normally call
vmemmap_populate_hugepages() which avoids calling vmemmap_verify() in
the common case (no existing mappings covering the new area).

I'm triggering the early_pfn_to_nid() BUG_ON() with the Xen balloon
driver in a PV guest which will always call vmemmap_populate_basepages()
(since Xen PV guests lack superpage support).

Not really sure what the best way to resolve this is.  Presumably
vmmemmap_verify() needs to switch to using pfn_to_nid() after the
initial initialization but there doesn't appear to be anything suitable
to distinguish between the early and hotplug cases.

David

--
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>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]