qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features
@ 2013-07-23 16:29 Benoît Canet
  2013-07-23 16:29 ` [Qemu-devel] [PATCH V3 for-1.6 1/5] block: Repair the throttling code Benoît Canet
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Benoît Canet @ 2013-07-23 16:29 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, Benoît Canet, stefanha

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2013-08-09  7:09 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-23 16:29 [Qemu-devel] [PATCH V3 for-1.6 0/5] Leaky bucket throttling and features Benoît Canet
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

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).