Re: [PATCH] x86/mm/srat_64.c: nodes_parsed should include all nodesdetected by ACPI.

From: David Rientjes
Date: Mon Jan 18 2010 - 05:43:48 EST

On Sun, 17 Jan 2010, Yinghai Lu wrote:

> > There're a couple of issues with this patch:
> >
> > - it breaks CONFIG_MEMORY_HOTPLUG_SPARSE kernels when the SRAT reports
> > more than one entry for a single node id and the later entry does not
> > specify an address range, and
> not sure this one.

The old code would preserve the address range from the preceding SRAT
entry for that node to pass to e820_register_active_regions() when
CONFIG_MEMORY_HOTPLUG_SPARSE is enabled, this patch incorrectly clears
that data.

> > - carrying the bit for the node over in nodes_parsed is inappropriate
> > since other x86 code depends on that map including only nodes with
> > memory such as e820_register_active_regions() and nodes_cover_memory().
> assume if e820 is right, even srat table have a range for hot plug
> aka the e820 have hole already. then e820_register_active_regions()
> and nodes_cover_memory
> should be ok even bootnode have some pre reserved range.

cpu_nodes_parsed handles nodes without memory, there's no reason why a bit
should be set in nodes_parsed if its corresponding node does not have a
valid address range. We have a reasonable expectation that nodes_parsed
represents memory nodes given its use for e820_register_active_regions()
and nodes_cover_memory() as well as acpi_get_nodes() for NUMA emulation,
for example, which would be broken with this patch. See dc0985519.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at