On Tue, May 19, 2015 at 03:24:32PM +0300, Alberto Garcia wrote: > 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 <be...@igalia.com> > --- > block.c | 15 +-- > block/io.c | 75 +++----------- > block/qapi.c | 5 +- > block/throttle-groups.c | 214 > +++++++++++++++++++++++++++++++++++++++- > blockdev.c | 38 +++++-- > hmp.c | 4 +- > include/block/block.h | 3 +- > include/block/block_int.h | 7 +- > include/block/throttle-groups.h | 4 + > qapi/block-core.json | 25 ++++- > qemu-options.hx | 1 + > qmp-commands.hx | 3 +- > 12 files changed, 309 insertions(+), 85 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
pgpdDIVqEq5Mk.pgp
Description: PGP signature