qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH RFC v3 3/8] block: add throttle block filter dri


From: Manos Pitsidianakis
Subject: Re: [Qemu-block] [PATCH RFC v3 3/8] block: add throttle block filter driver
Date: Mon, 26 Jun 2017 17:00:54 +0300
User-agent: NeoMutt/20170609-57-1e93be (1.8.3)

On Fri, Jun 23, 2017 at 03:46:55PM +0300, Manos Pitsidianakis wrote:
+static QemuOptsList throttle_opts = {
+    .name = "throttle",
+    .head = QTAILQ_HEAD_INITIALIZER(throttle_opts.head),
+    .desc = {
+        {
+            .name = QEMU_OPT_IOPS_TOTAL,

throttle_opts should use THROTTLE_OPTS from throttle-options.h (how many times can you say throttle opts in a sentence?), this will be corrected.

+
+static int throttle_configure_tgm(BlockDriverState *bs, ThrottleGroupMember 
*tgm,
+                                                    QDict *options, Error 
**errp)
+{
....
+    /* Copy previous configuration */
+    throttle_get_config(ts, &cfg);
....
+    /* Update group configuration */
+    throttle_config(ts, tt, &cfg);

These should be throttle_group_get_config() and throttle_group_config() respectively, to use the throttle group locks.

+
+block_init(bdrv_throttle_init);
diff --git a/include/qemu/throttle-options.h b/include/qemu/throttle-options.h
index 3133d1ca40..508ee72625 100644
--- a/include/qemu/throttle-options.h
+++ b/include/qemu/throttle-options.h
@@ -10,81 +10,103 @@
#ifndef THROTTLE_OPTIONS_H
#define THROTTLE_OPTIONS_H

+#define QEMU_OPT_IOPS_TOTAL "iops-total"
+#define QEMU_OPT_IOPS_TOTAL_MAX "iops-total-max"
+#define QEMU_OPT_IOPS_TOTAL_MAX_LENGTH "iops-total-max-length"
+#define QEMU_OPT_IOPS_READ "iops-read"
+#define QEMU_OPT_IOPS_READ_MAX "iops-read-max"
+#define QEMU_OPT_IOPS_READ_MAX_LENGTH "iops-read-max-length"
+#define QEMU_OPT_IOPS_WRITE "iops-write"
+#define QEMU_OPT_IOPS_WRITE_MAX "iops-write-max"
+#define QEMU_OPT_IOPS_WRITE_MAX_LENGTH "iops-write-max-length"
+#define QEMU_OPT_BPS_TOTAL "bps-total"
+#define QEMU_OPT_BPS_TOTAL_MAX "bps-total-max"
+#define QEMU_OPT_BPS_TOTAL_MAX_LENGTH "bps-total-max-length"
+#define QEMU_OPT_BPS_READ "bps-read"
+#define QEMU_OPT_BPS_READ_MAX "bps-read-max"
+#define QEMU_OPT_BPS_READ_MAX_LENGTH "bps-read-max-length"
+#define QEMU_OPT_BPS_WRITE "bps-write"
+#define QEMU_OPT_BPS_WRITE_MAX "bps-write-max"
+#define QEMU_OPT_BPS_WRITE_MAX_LENGTH "bps-write-max-length"
+#define QEMU_OPT_IOPS_SIZE "iops-size"
+#define QEMU_OPT_THROTTLE_GROUP_NAME "throttling-group"
+
+#define THROTTLE_OPT_PREFIX "throttling."
#define THROTTLE_OPTS \
          { \
-            .name = "throttling.iops-total",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit total I/O operations per second",\
        },{ \
-            .name = "throttling.iops-read",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit read operations per second",\
        },{ \
-            .name = "throttling.iops-write",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit write operations per second",\
        },{ \
-            .name = "throttling.bps-total",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit total bytes per second",\
        },{ \
-            .name = "throttling.bps-read",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit read bytes per second",\
        },{ \
-            .name = "throttling.bps-write",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE,\
            .type = QEMU_OPT_NUMBER,\
            .help = "limit write bytes per second",\
        },{ \
-            .name = "throttling.iops-total-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "I/O operations burst",\
        },{ \
-            .name = "throttling.iops-read-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "I/O operations read burst",\
        },{ \
-            .name = "throttling.iops-write-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "I/O operations write burst",\
        },{ \
-            .name = "throttling.bps-total-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "total bytes burst",\
        },{ \
-            .name = "throttling.bps-read-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "total bytes read burst",\
        },{ \
-            .name = "throttling.bps-write-max",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE_MAX,\
            .type = QEMU_OPT_NUMBER,\
            .help = "total bytes write burst",\
        },{ \
-            .name = "throttling.iops-total-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_TOTAL_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the iops-total-max burst period, in seconds",\
        },{ \
-            .name = "throttling.iops-read-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_READ_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the iops-read-max burst period, in seconds",\
        },{ \
-            .name = "throttling.iops-write-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_WRITE_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the iops-write-max burst period, in seconds",\
        },{ \
-            .name = "throttling.bps-total-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_TOTAL_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the bps-total-max burst period, in seconds",\
        },{ \
-            .name = "throttling.bps-read-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_READ_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the bps-read-max burst period, in seconds",\
        },{ \
-            .name = "throttling.bps-write-max-length",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_BPS_WRITE_MAX_LENGTH,\
            .type = QEMU_OPT_NUMBER,\
            .help = "length of the bps-write-max burst period, in seconds",\
        },{ \
-            .name = "throttling.iops-size",\
+            .name = THROTTLE_OPT_PREFIX QEMU_OPT_IOPS_SIZE,\
            .type = QEMU_OPT_NUMBER,\
            .help = "when limiting by iops max size of an I/O in bytes",\
        }
--
2.11.0



Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]