On Mon, 2 Oct 2017 10:33:26 -0400 Pradeep Jagadeesh <pradeepkiruv...@gmail.com> wrote:
> These patches provide the qmp interface, to query the io throttle > status of the all fsdev devices that are present in a vm. > also, it provides an interface to set the io throttle parameters of a > fsdev to a required value. Some of the patches also remove the > duplicate code that was present in block and fsdev files. > Hi Pradeep, I didn't have time to follow the thread, but it's been a month without activity... where do we stand now ? I've merged I/O throttle for fsdev in 2.9, is there a chance we get the QMP/HMP part in 2.12 ? Cheers, -- Greg > Pradeep Jagadeesh (6): > throttle: factor out duplicate code > qmp: Use ThrottleLimits structure > qmp: factor out throttle code to reuse code > hmp: create a throttle initialization function for code reuse > fsdev: QMP interface for throttling > fsdev: hmp interface for throttling > > Makefile | 3 +- > blockdev.c | 97 ++------------------------- > fsdev/qemu-fsdev-dummy.c | 11 +++ > fsdev/qemu-fsdev-throttle.c | 144 > ++++++++++++++++++++++++++-------------- > fsdev/qemu-fsdev-throttle.h | 9 ++- > fsdev/qemu-fsdev.c | 30 +++++++++ > hmp-commands-info.hx | 18 +++++ > hmp-commands.hx | 19 ++++++ > hmp.c | 81 ++++++++++++++++++++-- > hmp.h | 4 ++ > include/qemu/throttle-options.h | 3 + > include/qemu/throttle.h | 4 +- > include/qemu/typedefs.h | 1 + > monitor.c | 5 ++ > qapi-schema.json | 4 ++ > qapi/block-core.json | 75 +-------------------- > qapi/fsdev.json | 94 ++++++++++++++++++++++++++ > qmp.c | 14 ++++ > util/throttle.c | 70 +++++++++++++++++++ > 19 files changed, 462 insertions(+), 224 deletions(-) > create mode 100644 qapi/fsdev.json > > v0 -> v1: > Addressed comments from Eric Blake, Greg Kurz and Daniel P.Berrange > Mainly renaming the functions and removing the redundant code. > > v1 -> v2: > Addressed comments from Eric Blake and Greg Kurz. > As per the suggestion I split the patches into smaller patches. > Removed some more duplicate code. > > v2 -> v3: > Addresssed comments from Alberto Garcia. > Changed the comment from block to iothrottle in the iothrottle.json > Added the dummy functions in qemu-fsdev-dummy.c to address the compilation > issues that were observed. > > v3 -> v4: > Addressed comments from Eric Blake and Greg Kurz > Re-ordered the patches > Added the dummy functions in qmp.c to address the cross compilation issues > > v4 -> v5: > Addressed comments from Eric Blake and Greg Kurz > Split the fsdev qmp patch into hmp and qmp related patches > Moved the common functionalities to throttle.c instead of creating > a new file > > v5 -> v6: > Addressed comments from Greg Kurz and Markus Armbruster > Split the commits to specific to hmp and throttle as suggested by Greg > Moved ThrottleConfig typedef to qemu/typedefs.h > Addressed compilation issue on FreeBSD by adding flags in qmp.c > > v6 -> v7: > Addressed comments from Albert Garcia and Dr. David Alan Gilbert > Fixed the hmp-commands-info.hx and hmp-commands.hx as per Dr. David's > comments. > Fixed the bug with the hmp fsdev_set_io_throttle and info fsdev_iothrottle > > v7 -> v8: > Addressed comments from Markus Armbruster and Eric Blake > Removed unwanted headers from qmp-fsdev-throttle.h > > v8 -> v9: > Addressed comments from Markus Armbruster and Eric Blake > Removed the iothrottle.json and pushed the iothrottle struct to > block-core.json > > v9 -> v10: > Addressed comments from Albert Garcia > Fixed issue related to dynamically passing throttle configuration > Removed some unused code > > v10 -> v11: > Addressed the comments from Markus Armbruster and Eric Blake > Rebased the patches over 2.10 > > v11 -> v12: > Addressed comments by Manos Pitsidiankis > Moved back the device id to the fsdeviothrottle structure > > v12 -> v13: > Addressed comments by Manos Pitsidiankis > Replaced the throttle config strings with the macros