[libvirt] [PATCH 2/2] Show the real cpu shares value in live xml

2014-03-04 Thread Ján Tomko
---
 src/lxc/lxc_cgroup.c   | 13 ++---
 src/lxc/lxc_driver.c   |  6 +-
 src/qemu/qemu_cgroup.c | 12 +---
 src/qemu/qemu_driver.c |  7 ++-
 4 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index 876c32e..5887b24 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -36,9 +36,16 @@ static int virLXCCgroupSetupCpuTune(virDomainDefPtr def,
 virCgroupPtr cgroup)
 {
 int ret = -1;
-if (def-cputune.sharesSpecified 
-virCgroupSetCpuShares(cgroup, def-cputune.shares)  0)
-goto cleanup;
+
+if (def-cputune.sharesSpecified) {
+unsigned long long val;
+if (virCgroupSetCpuShares(cgroup, def-cputune.shares)  0)
+goto cleanup;
+
+if (virCgroupGetCpuShares(cgroup, val)  0)
+goto cleanup;
+def-cputune.shares = val;
+}
 
 if (def-cputune.quota != 0 
 virCgroupSetCpuCfsQuota(cgroup, def-cputune.quota)  0)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 26333a7..aafb81a 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1887,10 +1887,14 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom,
 
 if (STREQ(param-field, VIR_DOMAIN_SCHEDULER_CPU_SHARES)) {
 if (flags  VIR_DOMAIN_AFFECT_LIVE) {
+unsigned long long val;
 if (virCgroupSetCpuShares(priv-cgroup, params[i].value.ul)  
0)
 goto cleanup;
 
-vm-def-cputune.shares = params[i].value.ul;
+if (virCgroupGetCpuShares(priv-cgroup, val)  0)
+goto cleanup;
+
+vm-def-cputune.shares = val;
 vm-def-cputune.sharesSpecified = true;
 }
 
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 57c7302..a13f085 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -653,9 +653,15 @@ qemuSetupCpuCgroup(virDomainObjPtr vm)
}
 }
 
-if (vm-def-cputune.sharesSpecified 
-virCgroupSetCpuShares(priv-cgroup, vm-def-cputune.shares)  0)
-return -1;
+if (vm-def-cputune.sharesSpecified) {
+unsigned long long val;
+if (virCgroupSetCpuShares(priv-cgroup, vm-def-cputune.shares)  0)
+return -1;
+
+if (virCgroupGetCpuShares(priv-cgroup, val)  0)
+return -1;
+vm-def-cputune.shares = val;
+}
 
 return 0;
 }
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3c9ddb6..d082a6b 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -9004,9 +9004,14 @@ qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,
 
 if (STREQ(param-field, VIR_DOMAIN_SCHEDULER_CPU_SHARES)) {
 if (flags  VIR_DOMAIN_AFFECT_LIVE) {
+unsigned long long val;
 if (virCgroupSetCpuShares(priv-cgroup, value_ul)  0)
 goto cleanup;
-vm-def-cputune.shares = value_ul;
+
+if (virCgroupGetCpuShares(priv-cgroup, val)  0)
+goto cleanup;
+
+vm-def-cputune.shares = val;
 vm-def-cputune.sharesSpecified = true;
 }
 
-- 
1.8.3.2

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCH 2/2] Show the real cpu shares value in live xml

2014-03-04 Thread Martin Kletzander
On Tue, Mar 04, 2014 at 02:13:15PM +0100, Ján Tomko wrote:
 ---
  src/lxc/lxc_cgroup.c   | 13 ++---
  src/lxc/lxc_driver.c   |  6 +-
  src/qemu/qemu_cgroup.c | 12 +---
  src/qemu/qemu_driver.c |  7 ++-
  4 files changed, 30 insertions(+), 8 deletions(-)


ACK,

Martin


signature.asc
Description: Digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list