All of lore.kernel.org
 help / color / mirror / Atom feed
From: Manos Pitsidianakis <el13635@mail.ntua.gr>
To: qemu-devel <qemu-devel@nongnu.org>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block <qemu-block@nongnu.org>,
	Alberto Garcia <berto@igalia.com>
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH RFC v3 3/8] block: add throttle block filter driver
Date: Mon, 26 Jun 2017 17:00:54 +0300	[thread overview]
Message-ID: <20170626140054.7aeo7m3ofhes5sst@postretch> (raw)
In-Reply-To: <20170623124700.1389-4-el13635@mail.ntua.gr>

[-- Attachment #1: Type: text/plain, Size: 7011 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2017-06-26 14:01 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-23 12:46 [Qemu-devel] [PATCH RFC v3 0/8] I/O Throtting block filter driver Manos Pitsidianakis
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 1/8] block: move ThrottleGroup membership to ThrottleGroupMember Manos Pitsidianakis
2017-06-26 13:23   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-27 12:08   ` [Qemu-devel] " Alberto Garcia
2017-06-27 12:24     ` Manos Pitsidianakis
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 2/8] block: Add aio_context field in ThrottleGroupMember Manos Pitsidianakis
2017-06-26 13:36   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-26 14:03     ` Manos Pitsidianakis
2017-06-27 12:39   ` [Qemu-devel] " Alberto Garcia
2017-06-28 11:27   ` Kevin Wolf
2017-06-28 12:15     ` Manos Pitsidianakis
2017-06-28 12:44       ` Kevin Wolf
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 3/8] block: add throttle block filter driver Manos Pitsidianakis
2017-06-26 14:00   ` Manos Pitsidianakis [this message]
2017-06-26 14:30   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-26 16:01     ` Manos Pitsidianakis
2017-06-27 12:42       ` Stefan Hajnoczi
2017-06-26 16:26     ` Manos Pitsidianakis
2017-06-27 12:45       ` Stefan Hajnoczi
2017-06-27 13:34         ` Manos Pitsidianakis
2017-06-28 12:11           ` Stefan Hajnoczi
2017-06-26 14:34   ` Stefan Hajnoczi
2017-06-28 14:40   ` [Qemu-devel] " Kevin Wolf
2017-06-28 15:22     ` Manos Pitsidianakis
2017-06-28 15:36       ` Kevin Wolf
2017-06-28 15:50         ` Manos Pitsidianakis
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 4/8] block: convert ThrottleGroup to object with QOM Manos Pitsidianakis
2017-06-26 14:52   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-26 15:24     ` Manos Pitsidianakis
2017-06-27 12:57       ` Stefan Hajnoczi
2017-06-26 16:58     ` Manos Pitsidianakis
2017-06-27 13:02       ` Stefan Hajnoczi
2017-06-27 16:05       ` Alberto Garcia
2017-06-27 16:12         ` Manos Pitsidianakis
2017-06-28 12:07         ` Stefan Hajnoczi
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 5/8] block: add BlockDevOptionsThrottle to QAPI Manos Pitsidianakis
2017-06-26 14:55   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-27 13:12   ` [Qemu-devel] " Eric Blake
2017-06-28 13:35   ` Alberto Garcia
2017-06-28 13:42     ` Manos Pitsidianakis
2017-06-28 15:50   ` Kevin Wolf
2017-06-28 16:02     ` Eric Blake
2017-06-28 16:18       ` Kevin Wolf
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 6/8] block: add options parameter to bdrv_new_open_driver() Manos Pitsidianakis
2017-06-26 15:11   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-28 15:55     ` Kevin Wolf
2017-06-28 13:42   ` [Qemu-devel] " Alberto Garcia
2017-06-28 13:47     ` Manos Pitsidianakis
2017-06-23 12:46 ` [Qemu-devel] [PATCH RFC v3 7/8] block: remove legacy I/O throttling Manos Pitsidianakis
2017-06-26 15:44   ` [Qemu-devel] [Qemu-block] " Stefan Hajnoczi
2017-06-26 22:45     ` Manos Pitsidianakis
2017-06-27 13:08       ` Stefan Hajnoczi
2017-06-23 12:47 ` [Qemu-devel] [PATCH RFC v3 8/8] block: add throttle block filter driver interface tests Manos Pitsidianakis
2017-06-28 11:18   ` Kevin Wolf
2017-06-26 15:46 ` [Qemu-devel] [Qemu-block] [PATCH RFC v3 0/8] I/O Throtting block filter driver Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170626140054.7aeo7m3ofhes5sst@postretch \
    --to=el13635@mail.ntua.gr \
    --cc=berto@igalia.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.