[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] xend: save/restore cpu_weight and cpu_cap



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1249212383 -3600
# Node ID edf21ab7d7a4c16214276ca32f9e5b64fce3418a
# Parent  3bf7ab30e53777db620e76c6734d7c65f6e0e55e
xend: save/restore cpu_weight and cpu_cap

This patch allows vcpus_params cpu_weight and cpu_cap to be saved and
restored.  Most the code to support this already existed, but the save
path needed to be updated to explicitly save these params, and the
restore path needed to be updated to resend the params down to the
kernel.

From: Andrew Jones <drjones@xxxxxxxxxx>
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 tools/python/xen/xend/XendConfig.py     |    4 ++++
 tools/python/xen/xend/XendDomainInfo.py |    2 ++
 2 files changed, 6 insertions(+)

diff -r 3bf7ab30e537 -r edf21ab7d7a4 tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Sun Aug 02 12:25:01 2009 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Sun Aug 02 12:26:23 2009 +0100
@@ -1088,6 +1088,10 @@ 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']])
 
diff -r 3bf7ab30e537 -r edf21ab7d7a4 tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py   Sun Aug 02 12:25:01 2009 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py   Sun Aug 02 12:26:23 2009 +0100
@@ -2448,6 +2448,8 @@ 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")

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.