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][RESEND] separate xm config 'vcpus' field into two va

To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH][RESEND] separate xm config 'vcpus' field into two values
From: Ryan Grimm <grimm@xxxxxxxxxx>
Date: Mon, 27 Mar 2006 11:52:31 -0600
Delivery-date: Mon, 27 Mar 2006 17:56:50 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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: Mutt/1.5.6+20040907i
This breaks 'vcpus' in xm config file into two fields:

-max_vcpus - the max # of vcpus a domain can have in its life
-vcpus - the initial # of vcpus a domain brings up

it won't break any config file that's missing 'max_vcpus', the default
is 8

-- 
Thanks,
Ryan Grimm
IBM Linux Technology Center

Signed-off-by: Ryan Grimm <grimm@xxxxxxxxxx>

diff -r 36cf47cfea4e -r 42f7d3354bf6 docs/man/xmdomain.cfg.pod.5
--- a/docs/man/xmdomain.cfg.pod.5       Mon Mar 13 14:06:58 2006
+++ b/docs/man/xmdomain.cfg.pod.5       Mon Mar 13 21:35:15 2006
@@ -176,6 +176,13 @@
 
 Will cause the domain to boot to runlevel 4.
 
+=item B<max_vcpus>
+
+The number of virtual cpus a domain can bring up in its life.  In order 
+to use this the xen kernel must be compiled with SMP support.
+
+This defaults to 8, meaning the domain can bring up at most 8 vcpus.
+
 =item B<nfs_server>
 
 The IP address of the NFS server to use as the root device for the
diff -r 36cf47cfea4e -r 42f7d3354bf6 tools/examples/xmexample1
--- a/tools/examples/xmexample1 Mon Mar 13 14:06:58 2006
+++ b/tools/examples/xmexample1 Mon Mar 13 21:35:15 2006
@@ -26,6 +26,9 @@
 #cpus = ""         # leave to Xen to pick
 #cpus = "0"        # all vcpus run on CPU0
 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5
+
+# Max number of Virtual CPUS a domain can have in its life
+#max_vcpus = 8
 
 # Number of Virtual CPUS to use, default is 1
 #vcpus = 1
diff -r 36cf47cfea4e -r 42f7d3354bf6 tools/examples/xmexample2
--- a/tools/examples/xmexample2 Mon Mar 13 14:06:58 2006
+++ b/tools/examples/xmexample2 Mon Mar 13 21:35:15 2006
@@ -56,6 +56,9 @@
 #cpus = "0"        # all vcpus run on CPU0
 #cpus = "0-3,5,^1" # run on cpus 0,2,3,5
 #cpus = "%s" % vmid # set based on vmid (mod number of CPUs)
+
+# Max number of Virtual CPUS a domain can have in its life
+max_vcpus = 8
 
 # Number of Virtual CPUS to use, default is 1
 #vcpus = 1
diff -r 36cf47cfea4e -r 42f7d3354bf6 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Mon Mar 13 14:06:58 2006
+++ b/tools/python/xen/xend/XendDomainInfo.py   Mon Mar 13 21:35:15 2006
@@ -121,6 +121,7 @@
     ('uuid',       str),
     ('ssidref',    int),
     ('vcpus',      int),
+    ('max_vcpus',  int), 
     ('vcpu_avail', int),
     ('cpu_weight', float),
     ('memory',     int),
@@ -554,6 +555,7 @@
                 avail = int(1)
 
             defaultInfo('vcpus',        lambda: avail)
+            defaultInfo('max_vcpus',    lambda: 8)
             defaultInfo('online_vcpus', lambda: self.info['vcpus'])
             defaultInfo('max_vcpu_id',  lambda: self.info['vcpus']-1)
             defaultInfo('vcpu_avail',   lambda: (1 << self.info['vcpus']) - 1)
@@ -707,7 +709,7 @@
                 return 'offline'
 
         result = {}
-        for v in range(0, self.info['vcpus']):
+        for v in range(0, self.info['max_vcpus']):
             result["cpu/%d/availability" % v] = availability(v)
         return result
 
@@ -1175,7 +1177,7 @@
         self.recreateDom()
 
         # Set maximum number of vcpus in domain
-        xc.domain_max_vcpus(self.domid, int(self.info['vcpus']))
+        xc.domain_max_vcpus(self.domid, int(self.info['max_vcpus']))
 
 
     def introduceDomain(self):
diff -r 36cf47cfea4e -r 42f7d3354bf6 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Mon Mar 13 14:06:58 2006
+++ b/tools/python/xen/xm/create.py     Mon Mar 13 21:35:15 2006
@@ -176,6 +176,10 @@
 gopts.var('apic', val='APIC',
           fn=set_int, default=0,
           use="Disable or enable APIC of HVM domain.")
+
+gopts.var('max_vcpus', val='VCPUS',
+          fn=set_int, default=8,
+          use="max # of Virtual CPUS a domain will have in its life.")
 
 gopts.var('vcpus', val='VCPUS',
           fn=set_int, default=1,
@@ -600,7 +604,8 @@
                 config.append([n, v])
 
     map(add_conf, ['name', 'memory', 'ssidref', 'maxmem', 'restart',
-                   'on_poweroff', 'on_reboot', 'on_crash', 'vcpus'])
+                   'on_poweroff', 'on_reboot', 'on_crash', 'vcpus',
+                   'max_vcpus'])
     
     if vals.uuid is not None:
         config.append(['uuid', vals.uuid])


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH][RESEND] separate xm config 'vcpus' field into two values, Ryan Grimm <=