Ryan Grimm
2006-Mar-27 17:52 UTC
[Xen-devel] [PATCH][RESEND] separate xm config ''vcpus'' field into two values
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@us.ibm.com>
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@lists.xensource.com
http://lists.xensource.com/xen-devel