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

[Xen-devel] [PATCH 14/19] hvmloader: disallow memory relocation when vNUMA is enabled



Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Cc: Jan Beulich <JBeulich@xxxxxxxx>
Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
---
 tools/firmware/hvmloader/pci.c |   13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tools/firmware/hvmloader/pci.c b/tools/firmware/hvmloader/pci.c
index 4e8d803..d7ea740 100644
--- a/tools/firmware/hvmloader/pci.c
+++ b/tools/firmware/hvmloader/pci.c
@@ -88,6 +88,19 @@ void pci_setup(void)
     printf("Relocating guest memory for lowmem MMIO space %s\n",
            allow_memory_relocate?"enabled":"disabled");
 
+    /* Disallow low memory relocation when vNUMA is enabled, because
+     * relocated memory ends up off node. Further more, even if we
+     * dynamically expand node coverage in hvmloader, low memory and
+     * high memory may reside in different physical nodes, blindly
+     * relocates low memory to high memory gives us a sub-optimal
+     * configuration.
+     */
+    if ( hvm_info->nr_nodes != 0 && allow_memory_relocate )
+    {
+        allow_memory_relocate = false;
+        printf("vNUMA enabled, relocating guest memory for lowmem MMIO space 
disabled\n");
+    }
+
     s = xenstore_read("platform/mmio_hole_size", NULL);
     if ( s )
         mmio_hole_size = strtoll(s, NULL, 0);
-- 
1.7.10.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.