Change in vdsm[master]: [WIP]add createVm support of cputune

lvroyce at linux.vnet.ibm.com lvroyce at linux.vnet.ibm.com
Wed Oct 10 01:45:56 UTC 2012


Royce Lv has uploaded a new change for review.

Change subject: [WIP]add createVm support of cputune
......................................................................

[WIP]add createVm support of cputune

allow engine to pass other cputune params through vm create,
createVm now uses nice to config vm share value,
this patch uses 'shares' in vmdef directly (1024 by default)

Change-Id: I76e9b9d291d4801965163774ba45d15b39a77471
Signed-off-by: Royce Lv<lvroyce at linux.vnet.ibm.com>
---
M vdsm/libvirtvm.py
1 file changed, 13 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/45/8445/1

diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index fd80c69..9b38a36 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -737,10 +737,13 @@
         self.dom.appendChild(cpu)
 
     def appendTunable(self):
-        #CPU-pinning support
-        # see http://www.ovirt.org/wiki/Features/Design/cpu-pinning
+        cputune = self.doc.createElement('cputune')
+        cputuneParams = {'shares':1024}
+        if 'cputune' in self.conf:
+            cputuneParam = self.conf['cputune']
         if 'cpuPinning' in self.conf:
-            cputune = self.doc.createElement('cputune')
+            #CPU-pinning support
+            # see http://www.ovirt.org/wiki/Features/Design/cpu-pinning
             cpuPinning = self.conf.get('cpuPinning')
             try:
                 emulatorset = cpuPinning.pop('emulator')
@@ -754,7 +757,13 @@
                 vcpupin.setAttribute('vcpu', cpuPin)
                 vcpupin.setAttribute('cpuset', cpuPinning[cpuPin])
                 cputune.appendChild(vcpupin)
-            self.dom.appendChild(cputune)
+
+        for item in cputuneParams.keys():
+            m = self.doc.createElement(item)
+            m.appendChild(self.doc.createTextNode(cputuneParams[item]))
+            cputune.appendChild(m)
+
+        self.dom.appendChild(cputune)
 
     def _appendAgentDevice(self, path, name):
         """
@@ -1338,13 +1347,6 @@
             if self._initTimePauseCode == 'ENOSPC':
                 self.cont()
         self.conf['pid'] = self._getPid()
-
-        nice = int(self.conf.get('nice', '0'))
-        nice = max(min(nice, 19), 0)
-        try:
-            self._dom.setSchedulerParameters({'cpu_shares': (20 - nice) * 51})
-        except:
-            self.log.warning('failed to set Vm niceness', exc_info=True)
 
     def _run(self):
         self.log.info("VM wrapper has started")


--
To view, visit http://gerrit.ovirt.org/8445
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I76e9b9d291d4801965163774ba45d15b39a77471
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Royce Lv <lvroyce at linux.vnet.ibm.com>


More information about the vdsm-patches mailing list