diff options
author | Alberto Garcia <berto@igalia.com> | 2015-06-08 18:17:44 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2015-06-12 14:00:00 +0100 |
commit | 76f4afb40fa076ed23fe0ab42c7a768ddb71123f (patch) | |
tree | 38d8b57c8c56a457a060866197d03d537653c2a3 /qmp-commands.hx | |
parent | 1fee955f9cc5903b3c7f79bbd90929aefad583a6 (diff) | |
download | qemu-76f4afb40fa076ed23fe0ab42c7a768ddb71123f.tar.gz qemu-76f4afb40fa076ed23fe0ab42c7a768ddb71123f.tar.bz2 qemu-76f4afb40fa076ed23fe0ab42c7a768ddb71123f.zip |
throttle: Add throttle group support
The throttle group support use a cooperative round robin scheduling
algorithm.
The principles of the algorithm are simple:
- Each BDS of the group is used as a token in a circular way.
- The active BDS computes if a wait must be done and arms the right
timer.
- If a wait must be done the token timer will be armed so the token
will become the next active BDS.
Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: f0082a86f3ac01c46170f7eafe2101a92e8fde39.1433779731.git.berto@igalia.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'qmp-commands.hx')
-rw-r--r-- | qmp-commands.hx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/qmp-commands.hx b/qmp-commands.hx index 867a21fab6..a819160812 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -1853,7 +1853,7 @@ EQMP { .name = "block_set_io_throttle", - .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l,bps_max:l?,bps_rd_max:l?,bps_wr_max:l?,iops_max:l?,iops_rd_max:l?,iops_wr_max:l?,iops_size:l?", + .args_type = "device:B,bps:l,bps_rd:l,bps_wr:l,iops:l,iops_rd:l,iops_wr:l,bps_max:l?,bps_rd_max:l?,bps_wr_max:l?,iops_max:l?,iops_rd_max:l?,iops_wr_max:l?,iops_size:l?,group:s?", .mhandler.cmd_new = qmp_marshal_input_block_set_io_throttle, }, @@ -1879,6 +1879,7 @@ Arguments: - "iops_rd_max": read I/O operations max (json-int) - "iops_wr_max": write I/O operations max (json-int) - "iops_size": I/O size in bytes when limiting (json-int) +- "group": throttle group name (json-string) Example: |