On 06/01/2017 10:37 AM, Michal Hocko wrote: > From: Michal Hocko <mhocko@xxxxxxxx> > > Heiko Carstens has noticed that he can generate overlapping zones for > ZONE_DMA and ZONE_NORMAL: > DMA [mem 0x0000000000000000-0x000000007fffffff] > Normal [mem 0x0000000080000000-0x000000017fffffff] > > $ cat /sys/devices/system/memory/block_size_bytes > 10000000 > $ cat /sys/devices/system/memory/memory5/valid_zones > DMA > $ echo 0 > /sys/devices/system/memory/memory5/online > $ cat /sys/devices/system/memory/memory5/valid_zones > Normal > $ echo 1 > /sys/devices/system/memory/memory5/online > Normal > > $ cat /proc/zoneinfo > Node 0, zone DMA > spanned 524288 <----- > present 458752 > managed 455078 > start_pfn: 0 <----- > > Node 0, zone Normal > spanned 720896 > present 589824 > managed 571648 > start_pfn: 327680 <----- > > The reason is that we assume that the default zone for kernel onlining > is ZONE_NORMAL. This was a simplification introduced by the memory > hotplug rework and it is easily fixable by checking the range overlap in > the zone order and considering the first matching zone as the default > one. If there is no such zone then assume ZONE_NORMAL as we have been > doing so far. > > Fixes: "mm, memory_hotplug: do not associate hotadded memory to zones until online" > Reported-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Tested-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> Acked-by: Vlastimil Babka <vbabka@xxxxxxx> -- 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>