[PATCH 00/11] Dirty page rate limit support

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

 



From: Hyman Huang(黄勇) <huangy81@xxxxxxxxxxxxxxx>

Qemu introduced dirty page rate limit feature in 7.1.0, see the details in
the following link: 
https://lore.kernel.org/qemu-devel/cover.1656177590.git.huangy81@xxxxxxxxxxxxxxx/

So may be it's the right time to enabling this feature in libvirt meanwhile
so that upper user can play with it.

Expecting the upper app can use this feature to do a vcpu Qos or whatever else.

This patch add 2 new apis to implement dirty page rate limit:
1. virDomainSetVcpuDirtyLimit, which set vcpu dirty page rate 
   limit. virsh command 'vcpudirtylimit' also implemented correspondingly. 
2. virDomainCancelVcpuDirtyLimit, which cancel vcpu dirty page rate
   limit. 'cancel' option was introduced to 'vcpudirtylimit' to cancel
   the limit correspondingly.  

In addition, function 'qemuMonitorQueryVcpuDirtyLimit' was implemented
to query dirty page rate limit, virsh command 'vcpuinfo' was extended
so that user can query dirty page rate limit info via 'vcpuinfo'. 

This series make main modifications as the following:
- introduce QEMU_CAPS_VCPU_DIRTY_LIMIT capability so that libvirt can probe
  before using dirty page rate limit feature.

- implement virsh command 'vcpudirtylimit' to set/cancel dirty page rate 
  limit.

- extend vcpuinfo api so that it can display dirtylimit info.

- document dirty page rate limit feature.

Please review, thanks!

Best regards!

*** BLURB HERE ***

Hyman Huang(黄勇) (11):
  qemu_capabilities: Introduce QEMU_CAPS_VCPU_DIRTY_LIMIT capability
  libvirt: Add virDomainSetVcpuDirtyLimit API
  qemu_driver: Implement qemuDomainSetVcpuDirtyLimit
  virsh: Introduce vcpudirtylimit api
  qemu_monitor: Implement qemuMonitorQueryVcpuDirtyLimit
  qemu_driver: Extend qemuDomainGetVcpus for dirtylimit
  virsh: Extend vcpuinfo api to display dirtylimit info
  libvirt: Add virDomainCancelVcpuDirtyLimit API
  qemu_driver: Implement qemuDomainCancelVcpuDirtyLimit
  virsh: Add cancel option to vcpudirtylimit api
  NEWS: Document dirty page rate limit APIs

 NEWS.rst                                         |  13 ++
 include/libvirt/libvirt-domain.h                 |  22 ++++
 src/driver-hypervisor.h                          |  13 ++
 src/libvirt-domain.c                             |  95 +++++++++++++++
 src/libvirt_public.syms                          |   6 +
 src/qemu/qemu_capabilities.c                     |   4 +
 src/qemu/qemu_capabilities.h                     |   3 +
 src/qemu/qemu_driver.c                           | 146 +++++++++++++++++++++++
 src/qemu/qemu_monitor.c                          |  35 ++++++
 src/qemu/qemu_monitor.h                          |  26 ++++
 src/qemu/qemu_monitor_json.c                     | 137 +++++++++++++++++++++
 src/qemu/qemu_monitor_json.h                     |  13 ++
 src/remote/remote_daemon_dispatch.c              |   2 +
 src/remote/remote_driver.c                       |   4 +
 src/remote/remote_protocol.x                     |  30 ++++-
 src/remote_protocol-structs                      |  13 ++
 tests/qemucapabilitiesdata/caps_7.1.0.x86_64.xml |   1 +
 tools/virsh-domain.c                             | 112 +++++++++++++++++
 18 files changed, 673 insertions(+), 2 deletions(-)

-- 
1.8.3.1





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux