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