# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Node ID babae8ac84b95ff4fbc1cfe4ac27c59ceaba7e38
# Parent 7633398447846679342b197a79bc375b996d9026
Allow domain config file to specify credit-scheduler parameters.
Signed-off-by: Masami Watanabe <masami.watanabe@xxxxxxxxxxxxxx>
---
tools/python/xen/xend/XendDomain.py | 3 +++
tools/python/xen/xend/XendDomainInfo.py | 12 ++++++++++--
tools/python/xen/xm/create.py | 12 +++++++++---
3 files changed, 22 insertions(+), 5 deletions(-)
diff -r 763339844784 -r babae8ac84b9 tools/python/xen/xend/XendDomain.py
--- a/tools/python/xen/xend/XendDomain.py Mon Oct 23 12:23:57 2006 +0100
+++ b/tools/python/xen/xend/XendDomain.py Mon Oct 23 12:28:33 2006 +0100
@@ -227,6 +227,9 @@ class XendDomain:
try:
dominfo = XendDomainInfo.create(config)
self._add_domain(dominfo)
+ self.domain_sched_credit_set(dominfo.getDomid(),
+ dominfo.getWeight(),
+ dominfo.getCap())
return dominfo
finally:
self.domains_lock.release()
diff -r 763339844784 -r babae8ac84b9 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Mon Oct 23 12:23:57 2006 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py Mon Oct 23 12:28:33 2006 +0100
@@ -131,7 +131,8 @@ ROUNDTRIPPING_CONFIG_ENTRIES = [
('uuid', str),
('vcpus', int),
('vcpu_avail', int),
- ('cpu_weight', float),
+ ('cpu_cap', int),
+ ('cpu_weight', int),
('memory', int),
('shadow_memory', int),
('maxmem', int),
@@ -562,7 +563,8 @@ class XendDomainInfo:
defaultInfo('features', lambda: "")
defaultInfo('cpu', lambda: None)
defaultInfo('cpus', lambda: [])
- defaultInfo('cpu_weight', lambda: 1.0)
+ defaultInfo('cpu_cap', lambda: 0)
+ defaultInfo('cpu_weight', lambda: 256)
# some domains don't have a config file (e.g. dom0 )
# to set number of vcpus so we derive available cpus
@@ -825,6 +827,12 @@ class XendDomainInfo:
def getResume(self):
return "%s" % self.info['resume']
+
+ def getCap(self):
+ return self.info['cpu_cap']
+
+ def getWeight(self):
+ return self.info['cpu_weight']
def endRestore(self):
self.setResume(False)
diff -r 763339844784 -r babae8ac84b9 tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py Mon Oct 23 12:23:57 2006 +0100
+++ b/tools/python/xen/xm/create.py Mon Oct 23 12:28:33 2006 +0100
@@ -189,10 +189,14 @@ gopts.var('vcpus', val='VCPUS',
fn=set_int, default=1,
use="# of Virtual CPUS in domain.")
+gopts.var('cpu_cap', val='CAP',
+ fn=set_int, default=None,
+ use="""Set the maximum amount of cpu.
+ CAP is a percentage that fixes the maximum amount of cpu.""")
+
gopts.var('cpu_weight', val='WEIGHT',
- fn=set_float, default=None,
- use="""Set the new domain's cpu weight.
- WEIGHT is a float that controls the domain's share of the cpu.""")
+ fn=set_int, default=None,
+ use="""Set the cpu time ratio to be allocated to the domain.""")
gopts.var('restart', val='onreboot|always|never',
fn=set_value, default=None,
@@ -687,6 +691,8 @@ def make_config(vals):
config.append(['cpu', vals.cpu])
if vals.cpus is not None:
config.append(['cpus', vals.cpus])
+ if vals.cpu_cap is not None:
+ config.append(['cpu_cap', vals.cpu_cap])
if vals.cpu_weight is not None:
config.append(['cpu_weight', vals.cpu_weight])
if vals.blkif:
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|