]> xenbits.xensource.com Git - xen.git/commit
x86: fix memory cut-off when using PFN compression
authorJan Beulich <jbeulich@suse.com>
Thu, 12 Sep 2013 07:52:53 +0000 (09:52 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 12 Sep 2013 07:52:53 +0000 (09:52 +0200)
commit8efce9d69998a3d3c720ac7dbdb9b7e240369957
tree2f57f0ec1f0ee40b8e26ff4c1b3738cb9d72cc84
parent546ba2f17008387cf9821df46e6dac04f0883a9b
x86: fix memory cut-off when using PFN compression

For one setup_max_pdx(), when invoked a second time (after SRAT got
parsed), needs to start from the original max_page value again (using
the already adjusted one from the first invocation would not allow the
cut-off boundary to be moved up).

Second, _if_ we need to cut off some part of memory, we must not allow
this to also propagate into the NUMA accounting. Otherwise
cutoff_node() results in nodes_cover_memory() to find some parts of
memory apparently not having a PXM association, causing all SRAT info
to be ignored.

The only possibly problematic consumer of node_spanned_pages (the
meaning of which gets altered here in that it now also includes memory
Xen can't actively make use of) is XEN_SYSCTL_numainfo: At a first
glance the potentially larger reported memory size shouldn't confuse
tool stacks.

And finally we must not put our boot time modules at addresses which
(at that time) can't be guaranteed to be accessible later. This applies
to both the EFI boot loader and the module relocation code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Dario Faggioli <dario.faggioli@citrix.com>
xen/arch/x86/efi/boot.c
xen/arch/x86/setup.c