WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH 1/4] [HVM] introduce numanodes=n config file option

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH 1/4] [HVM] introduce numanodes=n config file option
From: "Andre Przywara" <andre.przywara@xxxxxxx>
Date: Mon, 13 Aug 2007 12:01:58 +0200
Delivery-date: Mon, 13 Aug 2007 03:03:20 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5.0.10 (X11/20070409)
Signed-off-by: Andre Przywara <andre.przywara@xxxxxxx>

# HG changeset patch
# User andre.przywara@xxxxxxx
# Date 1186489698 -7200
# Node ID 0534ec5aa830c665ac95bc0750a22cd6c5413733
# Parent  c362bcee8047d3d30b8c7655d26d8a8702371b6f
added numanodes=n config file option

diff -r c362bcee8047 -r 0534ec5aa830 tools/python/xen/lowlevel/xc/xc.c
--- a/tools/python/xen/lowlevel/xc/xc.c Sun Aug 12 16:09:13 2007 +0100
+++ b/tools/python/xen/lowlevel/xc/xc.c Tue Aug 07 14:28:18 2007 +0200
@@ -537,14 +537,16 @@ static PyObject *pyxc_hvm_build(XcObject
 #endif
     char *image;
     int store_evtchn, memsize, vcpus = 1, pae = 0, acpi = 0, apic = 1;
+    int numanodes = 0;
     unsigned long store_mfn;
 
     static char *kwd_list[] = { "domid", "store_evtchn",
                                "memsize", "image", "vcpus", "pae", "acpi",
-                               "apic", NULL };
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiis|iiii", kwd_list,
+                               "apic", "numanodes", NULL };
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiis|iiiii", kwd_list,
                                       &dom, &store_evtchn, &memsize,
-                                      &image, &vcpus, &pae, &acpi, &apic) )
+                                      &image, &vcpus, &pae, &acpi, &apic,
+                                      &numanodes) )
         return NULL;
 
     if ( xc_hvm_build(self->xc_handle, dom, memsize, image) != 0 )
@@ -564,6 +566,7 @@ static PyObject *pyxc_hvm_build(XcObject
     va_hvm->acpi_enabled = acpi;
     va_hvm->apic_mode    = apic;
     va_hvm->nr_vcpus     = vcpus;
+    va_hvm->numanodes    = numanodes;
     for ( i = 0, sum = 0; i < va_hvm->length; i++ )
         sum += ((uint8_t *)va_hvm)[i];
     va_hvm->checksum = -sum;
diff -r c362bcee8047 -r 0534ec5aa830 tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Sun Aug 12 16:09:13 2007 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Tue Aug 07 14:28:18 2007 +0200
@@ -124,6 +124,7 @@ LEGACY_CFG_TO_XENAPI_CFG = reverse_dict(
 # Platform configuration keys.
 XENAPI_PLATFORM_CFG = [ 'acpi', 'apic', 'boot', 'device_model', 'display', 
                         'fda', 'fdb', 'keymap', 'isa', 'localtime', 'monitor', 
+                        'numanodes',
                         'nographic', 'pae', 'rtc_timeoffset', 'serial', 'sdl',
                         'soundhw','stdvga', 'usb', 'usbdevice', 'vnc',
                         'vncconsole', 'vncdisplay', 'vnclisten',
diff -r c362bcee8047 -r 0534ec5aa830 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Sun Aug 12 16:09:13 2007 +0100
+++ b/tools/python/xen/xend/image.py    Tue Aug 07 14:28:18 2007 +0200
@@ -277,6 +277,7 @@ class HVMImageHandler(ImageHandler):
         self.pae  = int(vmConfig['platform'].get('pae',  0))
         self.apic = int(vmConfig['platform'].get('apic', 0))
         self.acpi = int(vmConfig['platform'].get('acpi', 0))
+        self.numanodes = int(vmConfig['platform'].get('numanodes', 0))
         
 
     def buildDomain(self):
@@ -292,6 +293,7 @@ class HVMImageHandler(ImageHandler):
         log.debug("pae            = %d", self.pae)
         log.debug("acpi           = %d", self.acpi)
         log.debug("apic           = %d", self.apic)
+        log.debug("numanodes      = %d", self.numanodes)
 
         rc = xc.hvm_build(domid          = self.vm.getDomid(),
                           image          = self.kernel,
@@ -300,6 +302,7 @@ class HVMImageHandler(ImageHandler):
                           vcpus          = self.vm.getVCpuCount(),
                           pae            = self.pae,
                           acpi           = self.acpi,
+                          numanodes      = self.numanodes,
                           apic           = self.apic)
         rc['notes'] = { 'SUSPEND_CANCEL': 1 }
         return rc
diff -r c362bcee8047 -r 0534ec5aa830 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Sun Aug 12 16:09:13 2007 +0100
+++ b/tools/python/xen/xm/create.py     Tue Aug 07 14:28:18 2007 +0200
@@ -201,6 +201,10 @@ gopts.var('apic', val='APIC',
 gopts.var('apic', val='APIC',
           fn=set_int, default=1,
           use="Disable or enable APIC mode.")
+
+gopts.var('numanodes', val='NUMANODES',
+          fn=set_int, default=0,
+          use="Number of NUMA nodes in the domain.")
 
 gopts.var('vcpus', val='VCPUS',
           fn=set_int, default=1,
@@ -721,7 +725,7 @@ def configure_hvm(config_image, vals):
              'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
              'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'vnclisten',
              'sdl', 'display', 'xauthority', 'rtc_timeoffset', 'monitor',
-             'acpi', 'apic', 'usb', 'usbdevice', 'keymap' ]
+             'acpi', 'apic', 'numanodes', 'usb', 'usbdevice', 'keymap' ]
     for a in args:
         if a in vals.__dict__ and vals.__dict__[a] is not None:
             config_image.append([a, vals.__dict__[a]])
diff -r c362bcee8047 -r 0534ec5aa830 tools/python/xen/xm/xenapi_create.py
--- a/tools/python/xen/xm/xenapi_create.py      Sun Aug 12 16:09:13 2007 +0100
+++ b/tools/python/xen/xm/xenapi_create.py      Tue Aug 07 14:28:18 2007 +0200
@@ -821,7 +821,7 @@ class sxp2xml:
 
 
     def extract_platform(self, image, document):
-        platform_keys = ['acpi', 'apic', 'pae']
+        platform_keys = ['acpi', 'apic', 'pae', 'numanodes']
 
         def extract_platform_key(key):
             platform = document.createElement("platform")
diff -r c362bcee8047 -r 0534ec5aa830 xen/include/public/hvm/hvm_info_table.h
--- a/xen/include/public/hvm/hvm_info_table.h   Sun Aug 12 16:09:13 2007 +0100
+++ b/xen/include/public/hvm/hvm_info_table.h   Tue Aug 07 14:28:18 2007 +0200
@@ -36,6 +36,7 @@ struct hvm_info_table {
     uint8_t     acpi_enabled;
     uint8_t     apic_mode;
     uint32_t    nr_vcpus;
+    uint32_t    numanodes;
 };
 
 #endif /* __XEN_PUBLIC_HVM_HVM_INFO_TABLE_H__ */
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH 1/4] [HVM] introduce numanodes=n config file option, Andre Przywara <=