mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
Allow domain config file to specify credit-scheduler parameters.
Signed-off-by: Masami Watanabe <masami.watanabe@jp.fujitsu.com>
This commit is contained in:
1 parent
1a69fbebff
commit
78cb34992b
3 files changed
+22
-5
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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
|
||||
@@ -826,6 +828,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)
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||