mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
Revert 20006:edf21ab7d7a4 and 20023:2b28320c6f8c.
This commit is contained in:
1 parent
80ae271d20
commit
3c11d89e35
2 files changed
+14
-7
No files matched your search
@@ -1055,7 +1055,10 @@ class XendConfig(dict):
|
||||
if domain.getDomid() is not None:
|
||||
sxpr.append(['domid', domain.getDomid()])
|
||||
|
||||
if not legacy_only:
|
||||
if legacy_only:
|
||||
sxpr.append(['cpu_weight', int(self['vcpus_params'].get('weight', 256))])
|
||||
sxpr.append(['cpu_cap', int(self['vcpus_params'].get('cap', 0))])
|
||||
else:
|
||||
for name, typ in XENAPI_CFG_TYPES.items():
|
||||
if name in self and self[name] not in (None, []):
|
||||
if typ == dict:
|
||||
@@ -1085,10 +1088,6 @@ class XendConfig(dict):
|
||||
if self.has_key(legacy) and self[legacy] not in (None, []):
|
||||
sxpr.append([legacy, self[legacy]])
|
||||
|
||||
if self.has_key('vcpus_params'):
|
||||
sxpr.append(['cpu_weight', int(self['vcpus_params'].get('weight', 256))])
|
||||
sxpr.append(['cpu_cap', int(self['vcpus_params'].get('cap', 0))])
|
||||
|
||||
if self.has_key('security_label'):
|
||||
sxpr.append(['security_label', self['security_label']])
|
||||
|
||||
|
||||
@@ -484,6 +484,7 @@ class XendDomainInfo:
|
||||
# we just ignore it so that the domain can still be restored
|
||||
log.warn("Cannot restore CPU affinity")
|
||||
|
||||
self._setSchedParams()
|
||||
self._storeVmDetails()
|
||||
self._createChannels()
|
||||
self._createDevices()
|
||||
@@ -2449,8 +2450,6 @@ class XendDomainInfo:
|
||||
raise VmError("Cpu cap out of range, valid range is from 0 to %s for specified number of vcpus" %
|
||||
(self.getVCpuCount() * 100))
|
||||
|
||||
xc.sched_credit_domain_set(self.domid, weight, cap)
|
||||
|
||||
# Test whether the devices can be assigned with VT-d
|
||||
self.info.update_platform_pci()
|
||||
pci = self.info["platform"].get("pci")
|
||||
@@ -2571,6 +2570,12 @@ class XendDomainInfo:
|
||||
for v in range(0, self.info['VCPUs_max']):
|
||||
xc.vcpu_setaffinity(self.domid, v, cpumask)
|
||||
|
||||
def _setSchedParams(self):
|
||||
if XendNode.instance().xenschedinfo() == 'credit':
|
||||
from xen.xend import XendDomain
|
||||
XendDomain.instance().domain_sched_credit_set(self.getDomid(),
|
||||
self.getWeight(),
|
||||
self.getCap())
|
||||
|
||||
def _initDomain(self):
|
||||
log.debug('XendDomainInfo.initDomain: %s %s',
|
||||
@@ -2587,6 +2592,9 @@ class XendDomainInfo:
|
||||
# distribution for NUMA systems.
|
||||
self._setCPUAffinity()
|
||||
|
||||
# Set scheduling parameters.
|
||||
self._setSchedParams()
|
||||
|
||||
# Use architecture- and image-specific calculations to determine
|
||||
# the various headrooms necessary, given the raw configured
|
||||
# values. maxmem, memory, and shadow are all in KiB.
|
||||
|
||||