]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Add support for cpu throttling parameters
authorJiri Denemark <jdenemar@redhat.com>
Mon, 20 Jun 2016 15:10:32 +0000 (17:10 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 22 Jun 2016 13:54:21 +0000 (15:54 +0200)
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
src/qemu/qemu_monitor_json.c
tests/qemumonitorjsontest.c

index 2862cbc12fcd48b9e210bce76e581cf2dc69a617..098e65436a0d328133c5beff014ec46c1a122a70 100644 (file)
@@ -2173,16 +2173,21 @@ qemuMonitorSetMigrationParams(qemuMonitorPtr mon,
                               qemuMonitorMigrationParamsPtr params)
 {
     VIR_DEBUG("compressLevel=%d:%d compressThreads=%d:%d "
-              "decompressThreads=%d:%d",
+              "decompressThreads=%d:%d cpuThrottleInitial=%d:%d "
+              "cpuThrottleIncrement=%d:%d",
               params->compressLevel_set, params->compressLevel,
               params->compressThreads_set, params->compressThreads,
-              params->decompressThreads_set, params->decompressThreads);
+              params->decompressThreads_set, params->decompressThreads,
+              params->cpuThrottleInitial_set, params->cpuThrottleInitial,
+              params->cpuThrottleIncrement_set, params->cpuThrottleIncrement);
 
     QEMU_CHECK_MONITOR_JSON(mon);
 
     if (!params->compressLevel_set &&
         !params->compressThreads_set &&
-        !params->decompressThreads_set)
+        !params->decompressThreads_set &&
+        !params->cpuThrottleInitial_set &&
+        !params->cpuThrottleIncrement_set)
         return 0;
 
     return qemuMonitorJSONSetMigrationParams(mon, params);
index 28cffc9410f5afcaec5446099ea57dd046223d0b..6fecca79a78824f1c9604883dda487861d7c7c5d 100644 (file)
@@ -496,6 +496,12 @@ struct _qemuMonitorMigrationParams {
 
     bool decompressThreads_set;
     int decompressThreads;
+
+    bool cpuThrottleInitial_set;
+    int cpuThrottleInitial;
+
+    bool cpuThrottleIncrement_set;
+    int cpuThrottleIncrement;
 };
 
 int qemuMonitorGetMigrationParams(qemuMonitorPtr mon,
index 0434522ba6e3b67496c25491caf6d4eab8f10c0c..66b9c4cd84861ca0f0cbeee5ed35cf507c1f5ee9 100644 (file)
@@ -2560,6 +2560,8 @@ qemuMonitorJSONGetMigrationParams(qemuMonitorPtr mon,
     PARSE(compressLevel, "compress-level");
     PARSE(compressThreads, "compress-threads");
     PARSE(decompressThreads, "decompress-threads");
+    PARSE(cpuThrottleInitial, "cpu-throttle-initial");
+    PARSE(cpuThrottleIncrement, "cpu-throttle-increment");
 
 #undef PARSE
 
@@ -2600,6 +2602,8 @@ qemuMonitorJSONSetMigrationParams(qemuMonitorPtr mon,
     APPEND(compressLevel, "compress-level");
     APPEND(compressThreads, "compress-threads");
     APPEND(decompressThreads, "decompress-threads");
+    APPEND(cpuThrottleInitial, "cpu-throttle-initial");
+    APPEND(cpuThrottleIncrement, "cpu-throttle-increment");
 
 #undef APPEND
 
index a0079dd1da8f7b8beba02ea8a63e40aaedc28bbb..f698c144a6623a5a5d176f1270fe5b7281b09df6 100644 (file)
@@ -1630,8 +1630,10 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationParams(const void *data)
                                "{"
                                "    \"return\": {"
                                "        \"decompress-threads\": 2,"
+                               "        \"cpu-throttle-increment\": 10,"
                                "        \"compress-threads\": 8,"
-                               "        \"compress-level\": 1"
+                               "        \"compress-level\": 1,"
+                               "        \"cpu-throttle-initial\": 20"
                                "    }"
                                "}") < 0) {
         goto cleanup;
@@ -1658,6 +1660,8 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationParams(const void *data)
     CHECK(compressLevel, "compress-level", 1);
     CHECK(compressThreads, "compress-threads", 8);
     CHECK(decompressThreads, "decompress-threads", 2);
+    CHECK(cpuThrottleInitial, "cpu-throttle-initial", 20);
+    CHECK(cpuThrottleIncrement, "cpu-throttle-increment", 10);
 
 #undef CHECK