qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Throttling groups vs filter nodes


From: Stefan Hajnoczi
Subject: [Qemu-devel] Throttling groups vs filter nodes
Date: Sat, 27 May 2017 09:56:03 +0200

Throttling groups allow multiple drives to share the same throttling
state (i.e. budget) between them.  Manos is working on moving the
throttling code into a block filter driver so it is no longer
hardcoded into the I/O code path.

Throttling groups are not defined explicitly using -object syntax.
Instead they are brought into existence by referring to them by name:
-drive throttling.group=group0.

A quirk in the current implementation is that the throttling limits
for the group are overwritten by each -drive throttling.group=group0.
Limits for all but the last -drive in a group are ignored.

There is no way to associate with an existing throttling group while
keeping current limits in place.  The caller must pass in desired
limits with at least the last -drive (and with every hotplugged
drive).

The new throttling filter node could do things differently:
If *no* limits were specified (i.e. iops, bps, etc) then keep existing
limits for the group in place.

These semantics are more convenient - especially for hotplugging
drives after the guest has launched.

Manos: I suggest implementing this new behavior when you write the
throttling filter driver.  The code needs to check that all throttle
cfg fields are 0.  There are no backwards compatibility concerns since
the throttle filter is new and existing users don't rely on it.

Thoughts?

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]