qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/25]: QMP queue
@ 2011-07-21 20:00 Luiz Capitulino
  2011-07-21 20:00 ` [Qemu-devel] [PATCH 01/25] QMP: add snapshot-blkdev-sync command Luiz Capitulino
                   ` (24 more replies)
  0 siblings, 25 replies; 34+ messages in thread
From: Luiz Capitulino @ 2011-07-21 20:00 UTC (permalink / raw)
  To: aliguori; +Cc: qemu-devel

Anthony,

The following patches have been sent to the list and look good to me. I've
also tested them.

The changes (since 6c916eda22e7ef180bb2dd183bbef85f9ff006c6) are available
in the following repository:

    git://repo.or.cz/qemu/qmp-unstable.git for-anthony

Anthony Liguori (1):
      Add hard build dependency on glib

Jes Sorensen (1):
      QMP: add snapshot-blkdev-sync command

Luiz Capitulino (2):
      Introduce compiler.h header file
      Error: Fix build when qemu-common.h is not included

Michael Roth (21):
      qlist: add qlist_first()/qlist_next()
      qapi: add module init types for qapi
      qapi: add QAPI visitor core
      qapi: add QMP input visitor
      qapi: add QMP output visitor
      qapi: add QAPI dealloc visitor
      qapi: add QMP command registration/lookup functions
      qapi: add QMP dispatch functions
      qapi: add ordereddict.py helper library
      qapi: add qapi.py helper libraries
      qapi: add qapi-types.py code generator
      qapi: add qapi-visit.py code generator
      qapi: add qapi-commands.py code generator
      qapi: test schema used for unit tests
      qapi: add test-visitor, tests for gen. visitor code
      qapi: add test-qmp-commands, tests for gen. marshalling/dispatch code
      qapi: add QAPI code generation documentation
      qerror: add QERR_JSON_PARSE_ERROR to qerror.c
      guest agent: command state class
      guest agent: qemu-ga daemon
      guest agent: add guest agent RPCs/commands

 Makefile                        |   45 +++-
 Makefile.objs                   |    8 +
 Makefile.target                 |    1 +
 blockdev.c                      |    4 +-
 compiler.h                      |   34 ++
 configure                       |   16 +
 docs/qapi-code-gen.txt          |  316 +++++++++++++++++++
 error.h                         |    1 +
 hmp-commands.hx                 |    2 +-
 module.h                        |    2 +
 qapi-schema-guest.json          |  217 +++++++++++++
 qapi-schema-test.json           |   22 ++
 qapi/qapi-dealloc-visitor.c     |  147 +++++++++
 qapi/qapi-dealloc-visitor.h     |   26 ++
 qapi/qapi-types-core.h          |   20 ++
 qapi/qapi-visit-core.c          |  118 +++++++
 qapi/qapi-visit-core.h          |   76 +++++
 qapi/qmp-core.h                 |   41 +++
 qapi/qmp-dispatch.c             |  124 ++++++++
 qapi/qmp-input-visitor.c        |  301 ++++++++++++++++++
 qapi/qmp-input-visitor.h        |   27 ++
 qapi/qmp-output-visitor.c       |  239 ++++++++++++++
 qapi/qmp-output-visitor.h       |   28 ++
 qapi/qmp-registry.c             |   40 +++
 qemu-common.h                   |   25 +--
 qemu-ga.c                       |  654 +++++++++++++++++++++++++++++++++++++++
 qerror.c                        |   13 +
 qerror.h                        |    9 +
 qga/guest-agent-command-state.c |   73 +++++
 qga/guest-agent-commands.c      |  518 +++++++++++++++++++++++++++++++
 qga/guest-agent-core.h          |   31 ++
 qlist.h                         |   11 +
 qmp-commands.hx                 |   34 ++
 scripts/ordereddict.py          |  127 ++++++++
 scripts/qapi-commands.py        |  385 +++++++++++++++++++++++
 scripts/qapi-types.py           |  270 ++++++++++++++++
 scripts/qapi-visit.py           |  246 +++++++++++++++
 scripts/qapi.py                 |  203 ++++++++++++
 test-qmp-commands.c             |  113 +++++++
 test-visitor.c                  |  306 ++++++++++++++++++
 40 files changed, 4842 insertions(+), 31 deletions(-)

^ permalink raw reply	[flat|nested] 34+ messages in thread
* [Qemu-devel] [PATCH v2 0/1] The intro for QEMU disk I/O limits
@ 2011-07-26  8:59 Zhi Yong Wu
  2011-07-26  8:59 ` [Qemu-devel] [PATCH v2 1/1] The codes V2 " Zhi Yong Wu
  0 siblings, 1 reply; 34+ messages in thread
From: Zhi Yong Wu @ 2011-07-26  8:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: kwolf, aliguori, stefanha, kvm, Zhi Yong Wu, zwu.kernel, ryanh,
	luowenj, vgoyal

The main goal of the patch is to effectively cap the disk I/O speed or counts of one single VM.It is only one draft, so it unavoidably has some drawbacks, if you catch them, please let me know.

The patch will mainly introduce one block I/O throttling algorithm, one global timer and one block queue for each I/O limits enabled drive.

When a block request is coming in, the throttling algorithm will check if its I/O rate or counts exceed the limits; if yes, then it will enqueue to the block queue; The timer will periodically handle the I/O requests in it.

Some available features follow as below:
(1) global bps limit.
    -drive bps=xxx            in bytes/s
(2) only read bps limit
    -drive bps_rd=xxx         in bytes/s
(3) only write bps limit
    -drive bps_wr=xxx         in bytes/s
(4) global iops limit
    -drive iops=xxx           in ios/s
(5) only read iops limit
    -drive iops_rd=xxx        in ios/s
(6) only write iops limit
    -drive iops_wr=xxx        in ios/s
(7) the combination of some limits.
    -drive bps=xxx,iops=xxx

Known Limitations:
(1) #1 can not coexist with #2, #3
(2) #4 can not coexist with #5, #6


Zhi Yong Wu (1):
  v2: The codes V2 for QEMU disk I/O limits.
      Modified the codes mainly based on stefan's comments.

  v1: Submit the codes for QEMU disk I/O limits.
      Only a code draft.

 Makefile.objs     |    2 +-
 block.c           |  288 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 block.h           |    1 -
 block/blk-queue.c |  116 +++++++++++++++++++++
 block/blk-queue.h |   70 +++++++++++++
 block_int.h       |   28 +++++
 blockdev.c        |   21 ++++
 qemu-config.c     |   24 +++++
 qemu-option.c     |   17 +++
 qemu-option.h     |    1 +
 qemu-options.hx   |    1 +
 11 files changed, 559 insertions(+), 10 deletions(-)
 create mode 100644 block/blk-queue.c
 create mode 100644 block/blk-queue.h

-- 
1.7.2.3

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

end of thread, other threads:[~2011-08-02 19:18 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-21 20:00 [Qemu-devel] [PULL 0/25]: QMP queue Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 01/25] QMP: add snapshot-blkdev-sync command Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 02/25] Introduce compiler.h header file Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 03/25] Error: Fix build when qemu-common.h is not included Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 04/25] Add hard build dependency on glib Luiz Capitulino
2011-08-02  2:03   ` TeLeMan
2011-08-02 19:06     ` Luiz Capitulino
2011-08-02 19:18       ` Anthony Liguori
2011-07-21 20:00 ` [Qemu-devel] [PATCH 05/25] qlist: add qlist_first()/qlist_next() Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 06/25] qapi: add module init types for qapi Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 07/25] qapi: add QAPI visitor core Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 08/25] qapi: add QMP input visitor Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 09/25] qapi: add QMP output visitor Luiz Capitulino
2011-07-21 20:00 ` [Qemu-devel] [PATCH 10/25] qapi: add QAPI dealloc visitor Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 11/25] qapi: add QMP command registration/lookup functions Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 12/25] qapi: add QMP dispatch functions Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 13/25] qapi: add ordereddict.py helper library Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 14/25] qapi: add qapi.py helper libraries Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 15/25] qapi: add qapi-types.py code generator Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 16/25] qapi: add qapi-visit.py " Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 17/25] qapi: add qapi-commands.py " Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 18/25] qapi: test schema used for unit tests Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 19/25] qapi: add test-visitor, tests for gen. visitor code Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 20/25] qapi: add test-qmp-commands, tests for gen. marshalling/dispatch code Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 21/25] qapi: add QAPI code generation documentation Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 22/25] qerror: add QERR_JSON_PARSE_ERROR to qerror.c Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 23/25] guest agent: command state class Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 24/25] guest agent: qemu-ga daemon Luiz Capitulino
2011-07-21 20:01 ` [Qemu-devel] [PATCH 25/25] guest agent: add guest agent RPCs/commands Luiz Capitulino
  -- strict thread matches above, loose matches on Subject: below --
2011-07-26  8:59 [Qemu-devel] [PATCH v2 0/1] The intro for QEMU disk I/O limits Zhi Yong Wu
2011-07-26  8:59 ` [Qemu-devel] [PATCH v2 1/1] The codes V2 " Zhi Yong Wu
2011-07-26 19:26   ` Marcelo Tosatti
2011-07-26 21:51     ` [Qemu-devel] [PATCH 04/25] Add hard build dependency on glib Yoder Stuart-B08248
2011-07-26 22:09       ` Anthony Liguori
2011-07-27  8:54         ` Benjamin Herrenschmidt
2011-07-27 13:31           ` David Gibson
2011-07-27 13:13         ` Yoder Stuart-B08248

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