From: "Benoît Canet" <benoit@irqsave.net>
To: qemu-devel@nongnu.org
Cc: kwolf@redhat.com, "Benoît Canet" <benoit@irqsave.net>,
stefanha@redhat.com
Subject: [Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features
Date: Tue, 23 Jul 2013 18:29:23 +0200 [thread overview]
Message-ID: <1374596968-20181-1-git-send-email-benoit@irqsave.net> (raw)
The first patch fixes the throttling which was broken by a previous commit.
The next patch replace the existing throttling algorithm by the well described
leaky bucket algorithm.
Third patch implement bursting by adding *_threshold parameters to
qmp_block_set_io_throttle.
The last one allow to define the max size of an io when throttling by iops via
iops_sector_count to avoid vm users cheating on the iops limit.
The last patch adds a metric reflecting how much the I/O are throttled.
since v1:
Add throttling percentage metric [Benoît]
since v2:
Enable timer only during I/O activity [Stefan]
Mark function as coroutine_fn [Stefan]
Guard these function checking they are in a coroutine [Stefan]
Use defines to access buckets [Stefan]
Fix typo [Stefan]
reset throttling metric on iddle [Benoît]
rename invalid to check_io_limit [Stefan]
Benoît Canet (5):
block: Repair the throttling code.
block: Modify the throttling code to implement the leaky bucket
algorithm.
block: Add support for throttling burst threshold in QMP and the
command line.
block: Add iops_sector_count to do the iops accounting for a given io
size.
block: Add throttling percentage metrics.
block.c | 493 ++++++++++++++++++++++++++++-----------------
block/qapi.c | 32 +++
blockdev.c | 174 ++++++++++++++--
hmp.c | 38 +++-
include/block/block_int.h | 18 +-
include/block/coroutine.h | 9 +-
qapi-schema.json | 42 +++-
qemu-coroutine-lock.c | 20 +-
qemu-options.hx | 2 +-
qmp-commands.hx | 34 +++-
10 files changed, 642 insertions(+), 220 deletions(-)
--
1.7.10.4
next reply other threads:[~2013-07-23 16:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-23 16:29 Benoît Canet [this message]
2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 1/5] block: Repair the throttling code Benoît Canet
2013-07-26 19:16 ` Eric Blake
2013-07-26 19:42 ` Alex Bligh
2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 2/5] block: Modify the throttling code to implement the leaky bucket algorithm Benoît Canet
2013-07-26 3:40 ` Fam Zheng
2013-07-26 9:48 ` Benoît Canet
2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 3/5] block: Add support for throttling burst threshold in QMP and the command line Benoît Canet
2013-07-26 3:07 ` Fam Zheng
2013-07-26 19:24 ` Eric Blake
2013-07-26 20:55 ` Benoît Canet
2013-08-08 13:37 ` Benoît Canet
2013-08-09 7:09 ` Kevin Wolf
2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 4/5] block: Add iops_sector_count to do the iops accounting for a given io size Benoît Canet
2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 5/5] block: Add throttling percentage metrics Benoît Canet
2013-07-26 2:55 ` Fam Zheng
2013-07-26 9:49 ` Benoît Canet
2013-07-25 12:08 ` [Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features Fam Zheng
2013-07-25 12:16 ` Benoît Canet
2013-07-26 19:07 ` Eric Blake
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=1374596968-20181-1-git-send-email-benoit@irqsave.net \
--to=benoit@irqsave.net \
--cc=kwolf@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).