[libvirt] [PATCH v4 4/7] blockjob: allow finer bandwidth tuning for set speed

Peter Krempa pkrempa at redhat.com
Fri Sep 12 11:51:21 UTC 2014


On 09/12/14 05:55, Eric Blake wrote:
> We stupidly modeled block job bandwidth after migration
> bandwidth, which in turn was an 'unsigned long' and therefore
> subject to 32-bit vs. 64-bit interpretations.  To work around
> the fact that 10-gigabit interfaces are possible but don't fit
> within 32 bits, the original interface took the number scaled
> as MiB/sec.  But this scaling is rather coarse, and it might
> be nice to tune bandwidth finer than in megabyte chunks.
> 
> Several of the block job calls that can set speed are fed
> through a common interface, so it was easier to adjust them all
> at once.  Note that there is intentionally no flag for the new
> virDomainBlockCopy; there, since the API already uses a 64-bit
> type always, instead of a possible 32-bit type, and is brand
> new, it was easier to just avoid scaling issues.  As with the
> previous patch that adjusted the query side (commit db33cc24),
> omitting the new flag preserves old behavior, and the
> documentation now mentions limits of what happens when a 32-bit
> machine is on either client or server side.
> 
> * include/libvirt/libvirt.h.in (virDomainBlockJobSetSpeedFlags)
> (virDomainBlockPullFlags)
> (VIR_DOMAIN_BLOCK_REBASE_BANDWIDTH_BYTES)
> (VIR_DOMAIN_BLOCK_COMMIT_BANDWIDTH_BYTES): New enums.
> * src/libvirt.c (virDomainBlockJobSetSpeed, virDomainBlockPull)
> (virDomainBlockRebase, virDomainBlockCommit): Document them.
> * src/qemu/qemu_driver.c (qemuDomainBlockJobSetSpeed)
> (qemuDomainBlockPull, qemuDomainBlockRebase)
> (qemuDomainBlockCommit, qemuDomainBlockJobImpl): Support new flag.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
>  include/libvirt/libvirt.h.in | 31 +++++++++++++----
>  src/libvirt.c                | 83 +++++++++++++++++++++++++++++++-------------
>  src/qemu/qemu_driver.c       | 61 +++++++++++++++++++-------------
>  3 files changed, 118 insertions(+), 57 deletions(-)
> 

ACK,

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140912/44350241/attachment-0001.sig>


More information about the libvir-list mailing list