[libvirt] [PATCH v2 23/27] qemu: Drop checking vcpu threads in emulator bandwidth getter/setter

Peter Krempa pkrempa at redhat.com
Fri Nov 27 16:16:48 UTC 2015


The vCPU threads make sense in the counterparts that set the vCPU
bandwidth/quota, not in the emulator one. The emulator tunables are set
all the time anyways.

Drop the extra check and remove the now unneeded vm argument.
---
 src/qemu/qemu_driver.c | 33 ++++++++++-----------------------
 1 file changed, 10 insertions(+), 23 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index dc95f91..5c3703f 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -10312,18 +10312,15 @@ qemuSetVcpusBWLive(virDomainObjPtr vm, virCgroupPtr cgroup,
 }

 static int
-qemuSetEmulatorBandwidthLive(virDomainObjPtr vm, virCgroupPtr cgroup,
-                             unsigned long long period, long long quota)
+qemuSetEmulatorBandwidthLive(virCgroupPtr cgroup,
+                             unsigned long long period,
+                             long long quota)
 {
-    qemuDomainObjPrivatePtr priv = vm->privateData;
     virCgroupPtr cgroup_emulator = NULL;

     if (period == 0 && quota == 0)
         return 0;

-    if (priv->nvcpupids == 0 || priv->vcpupids[0] == vm->pid)
-        return 0;
-
     if (virCgroupNewThread(cgroup, VIR_CGROUP_THREAD_EMULATOR, 0,
                            false, &cgroup_emulator) < 0)
         goto cleanup;
@@ -10500,7 +10497,7 @@ qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,
                               QEMU_SCHED_MIN_PERIOD, QEMU_SCHED_MAX_PERIOD);

             if (flags & VIR_DOMAIN_AFFECT_LIVE && value_ul) {
-                if ((rc = qemuSetEmulatorBandwidthLive(vm, priv->cgroup,
+                if ((rc = qemuSetEmulatorBandwidthLive(priv->cgroup,
                                                        value_ul, 0)))
                     goto endjob;

@@ -10521,7 +10518,7 @@ qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,
                               QEMU_SCHED_MIN_QUOTA, QEMU_SCHED_MAX_QUOTA);

             if (flags & VIR_DOMAIN_AFFECT_LIVE && value_l) {
-                if ((rc = qemuSetEmulatorBandwidthLive(vm, priv->cgroup,
+                if ((rc = qemuSetEmulatorBandwidthLive(priv->cgroup,
                                                        0, value_l)))
                     goto endjob;

@@ -10636,29 +10633,19 @@ qemuGetVcpusBWLive(virDomainObjPtr vm,
 }

 static int
-qemuGetEmulatorBandwidthLive(virDomainObjPtr vm, virCgroupPtr cgroup,
-                             unsigned long long *period, long long *quota)
+qemuGetEmulatorBandwidthLive(virCgroupPtr cgroup,
+                             unsigned long long *period,
+                             long long *quota)
 {
     virCgroupPtr cgroup_emulator = NULL;
-    qemuDomainObjPrivatePtr priv = NULL;
-    int rc;
     int ret = -1;

-    priv = vm->privateData;
-    if (priv->nvcpupids == 0 || priv->vcpupids[0] == vm->pid) {
-        /* We don't create sub dir for each vcpu */
-        *period = 0;
-        *quota = 0;
-        return 0;
-    }
-
     /* get period and quota for emulator */
     if (virCgroupNewThread(cgroup, VIR_CGROUP_THREAD_EMULATOR, 0,
                            false, &cgroup_emulator) < 0)
         goto cleanup;

-    rc = qemuGetVcpuBWLive(cgroup_emulator, period, quota);
-    if (rc < 0)
+    if (qemuGetVcpuBWLive(cgroup_emulator, period, quota) < 0)
         goto cleanup;

     ret = 0;
@@ -10748,7 +10735,7 @@ qemuDomainGetSchedulerParametersFlags(virDomainPtr dom,
     }

     if (*nparams > 3 && cpu_bw_status) {
-        rc = qemuGetEmulatorBandwidthLive(vm, priv->cgroup, &emulator_period,
+        rc = qemuGetEmulatorBandwidthLive(priv->cgroup, &emulator_period,
                                           &emulator_quota);
         if (rc != 0)
             goto cleanup;
-- 
2.6.2




More information about the libvir-list mailing list