]> xenbits.xensource.com Git - xen.git/commit
x86/NUMA: don't account hotplug regions
authorJan Beulich <jbeulich@suse.com>
Mon, 31 Aug 2015 11:52:24 +0000 (13:52 +0200)
committerJan Beulich <jbeulich@suse.com>
Mon, 31 Aug 2015 11:52:24 +0000 (13:52 +0200)
commitc011f470e6e79208f5baa071b4d072b78c88e2ba
tree9af1ef2a4e6142ce0ae81f7c8babf0ef1c4c3328
parent8f945d36d9bddd5b589ba23c7322b30d623dd084
x86/NUMA: don't account hotplug regions

... except in cases where they really matter: node_memblk_range[] now
is the only place all regions get stored. nodes[] and NODE_DATA() track
present memory only. This improves the reporting when nodes have
disjoint "normal" and hotplug regions, with the hotplug region sitting
above the highest populated page. In such cases a node's spanned-pages
value (visible in both XEN_SYSCTL_numainfo and 'u' debug key output)
covered all the way up to top of populated memory, giving quite
different a picture from what an otherwise identically configured
system without and hotplug regions would report. Note, however, that
the actual hotplug case (as well as cases of nodes with multiple
disjoint present regions) is still not being handled such that the
reported values would represent how much memory a node really has (but
that can be considered intentional).

Reported-by: Jim Fehlig <jfehlig@suse.com>
This at once makes nodes_cover_memory() no longer consider E820_RAM
regions covered by SRAT hotplug regions.

Also reject self-overlaps with mismatching hotplug flags.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Release-acked-by: Wei Liu <wei.liu2@citrix.com>
xen/arch/x86/srat.c