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

[Xen-devel] [PATCH][RESEND] separate xm config 'vcpus' field into two values


  • To: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Ryan Grimm <grimm@xxxxxxxxxx>
  • Date: Mon, 27 Mar 2006 11:52:31 -0600
  • Delivery-date: Mon, 27 Mar 2006 17:56:50 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

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


 


Rackspace

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