lowing reference:
https://lore.kernel.org/qemu-
devel/169024923116.19090.1082559906895003913...@git.sr.ht/
Please review,
thanks, Yong
Hyman Huang (4):
Add VIR_MIGRATE_DIRTY_LIMIT flag
qemu_migration: Implement VIR_MIGRATE_DIRTY_LIMIT flag
virsh: Add support for VIR_MIGRATE_DIRTY_LIMI
From: Hyman Huang
Signed-off-by: Hyman Huang
---
src/qemu/qemu_migration.c| 8
src/qemu/qemu_migration.h| 1 +
src/qemu/qemu_migration_params.c | 6 ++
src/qemu/qemu_migration_params.h | 1 +
4 files changed, 16 insertions(+)
diff --git a/src/qemu/qemu_migration.c
From: Hyman Huang
The flag can be used to enable dirty-limit capability for
live migration.
Signed-off-by: Hyman Huang
---
include/libvirt/libvirt-domain.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index
From: Hyman Huang
Introudce option to enable dirty-limit convergence algorithim
during live migration.
Signed-off-by: Hyman Huang
---
docs/manpages/virsh.rst | 10 +-
src/libvirt-domain.c| 8
tools/virsh-domain.c| 10 ++
3 files changed, 27 insertions(+), 1
From: Hyman Huang
Signed-off-by: Hyman Huang
---
NEWS.rst | 8
1 file changed, 8 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index fbdd9674a3..dd0dda923e 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -25,6 +25,14 @@ v9.9.0 (unreleased)
guest features to see if the current libvirt
From: Hyman Huang(黄勇)
Implement qemuMonitorQueryVcpuDirtyLimit which query vcpu
dirty limit info by calling qmp 'query-vcpu-dirty-limit'.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_monitor.c | 12 +++
src/qemu/qemu_monitor.h | 17 ++
src/qemu/qemu_moni
From: Hyman Huang(黄勇)
Implement qemuDomainSetVcpuDirtyLimit, which can be used to
set or cancel the upper limit of the dirty page rate for
virtual CPUs.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_driver.c | 131 +++
src/qemu/qemu_monitor.c
From: Hyman Huang(黄勇)
Extend dirtylimit statistics for domGetStats to display the
information of the upper limit of dirty page rate for
virtual CPUs.
Signed-off-by: Hyman Huang(黄勇)
---
include/libvirt/libvirt-domain.h | 1 +
src/libvirt-domain.c | 9 ++
src/qemu
From: Hyman Huang(黄勇)
Introduce limit-dirty-page-rate virsh api to set or cancel
dirty page rate upper limit for virtual CPUs.
Usage is below:
$ virsh limit-dirty-page-rate --rate \
[--vcpu ] [--config] [--live] [--current]
Set the dirty page rate upper limit for the given vcpu
specified
From: Hyman Huang(黄勇)
Introduce command 'virsh domstats --dirtylimit' for reporting dirty
page rate upper limit (megabyte/s) infomation. The info is listed as
follows:
Domain: 'vm'
dirtylimit.vcpu.0.limit=10
dirtylimit.vcpu.0.current=16
dirtylimit.vcpu.1.limit=10
From: Hyman Huang(黄勇)
Export virDomainDefHasDirtyLimitStartupVcpus as a util function,
which could be used in qemu_process.c file for the next commit.
Signed-off-by: Hyman Huang(黄勇)
---
src/conf/domain_validate.c | 2 +-
src/conf/domain_validate.h | 2 ++
src/libvirt_private.syms | 1 +
3
From: Hyman Huang(黄勇)
Introduce virDomainSetVcpuDirtyLimit API to set or cancel the
dirty page rate upper limit.
The API will throttle the virtual CPU as needed to keep their dirty
page rate within the limit. Since it just throttles the virtual CPU,
which dirties memory, read processes in the
From: Hyman Huang(黄勇)
The dirty_limit attribute in XML requires setting up the
upper limit of dirty page rate once after launching the
VM, so add the implementation.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_process.c | 44 +
1 file changed, 44
From: Hyman Huang(黄勇)
The upper limit (megabyte/s) of the dirty page rate configured
by the user can be tracked by the XML. To allow this, add the
following XML:
...
3
...
The "dirty_limit" attribute in "vcpu" sub-element within "vcpus"
From: Hyman Huang(黄勇)
set-vcpu-dirty-limit/cancel-vcpu-dirty-limit/query-vcpu-dirty-limit
were introduced since qemu >=7.1.0. Introduce corresponding
capability.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilitie
iveness of large guests
during live migration and can result in more stable read
performance. The other application scenarios remain
unexplored, before that, Libvirt could provide the basic API.
Hyman Huang(黄勇) (10):
qemu_capabilities: Introduce QEMU_CAPS_VCPU_DIRTY_LIMIT capability
conf:
From: Hyman Huang(黄勇)
Extend dirtylimit statistics for domGetStats to display the
information of the upper limit of dirty page rate for
virtual CPUs.
Signed-off-by: Hyman Huang(黄勇)
---
include/libvirt/libvirt-domain.h | 1 +
src/libvirt-domain.c | 9 ++
src/qemu
From: Hyman Huang(黄勇)
The dirty_limit attribute in XML requires setting up the
upper limit of dirty page rate once after launching the
VM, so add the implementation.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_process.c | 44 +
1 file changed, 44
From: Hyman Huang(黄勇)
Introduce command 'virsh domstats --dirtylimit' for reporting dirty
page rate upper limit infomation. The info is listed as follows:
Domain: 'vm'
dirtylimit.vcpu.0.limit=10
dirtylimit.vcpu.0.current=16
dirtylimit.vcpu.1.limit=10
dirtyli
From: Hyman Huang(黄勇)
Implement qemuMonitorQueryVcpuDirtyLimit which query vcpu
dirty limit info by calling qmp 'query-vcpu-dirty-limit'.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_monitor.c | 12 +++
src/qemu/qemu_monitor.h | 17 ++
src/qemu/qemu_moni
From: Hyman Huang(黄勇)
Introduce limit-dirty-page-rate virsh api to set or cancel
dirty page rate upper limit for virtual CPUs.
Usage is below:
$ virsh limit-dirty-page-rate --rate \
[--vcpu ]
Set the dirty page rate upper limit for the given vcpu
specified by the "vcpu"; s
From: Hyman Huang(黄勇)
Implement qemuDomainSetVcpuDirtyLimit, which can be used to
set or cancel the upper limit of the dirty page rate for
virtual CPUs.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_driver.c | 131 +++
src/qemu/qemu_monitor.c
From: Hyman Huang(黄勇)
Export virDomainDefHasDirtyLimitStartupVcpus as a util function,
which could be used in qemu_process.c file for the next commit.
Signed-off-by: Hyman Huang(黄勇)
---
src/conf/domain_validate.c | 2 +-
src/conf/domain_validate.h | 2 ++
src/libvirt_private.syms | 1 +
3
From: Hyman Huang(黄勇)
set-vcpu-dirty-limit/cancel-vcpu-dirty-limit/query-vcpu-dirty-limit
were introduced since qemu >=7.1.0. Introduce corresponding
capability.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilitie
From: Hyman Huang(黄勇)
The upper limit (MB/s) of the dirty page rate configured by the
user can be tracked by the XML. To allow this, add the following
XML:
...
3
...
The "dirty_limit" attribute in "vcpu" sub-element within "vcpus"
element al
e stable read
performance. The other application scenarios remain
unexplored, before that, Libvirt could provide the basic API.
Please review, thanks
Yong
Hyman Huang(黄勇) (10):
qemu_capabilities: Introduce QEMU_CAPS_VCPU_DIRTY_LIMIT capability
conf: Introduce XML for dirty limi
From: Hyman Huang(黄勇)
Introduce virDomainSetVcpuDirtyLimit API to set or cancel the
dirty page rate upper limit.
The API will throttle the virtual CPU as needed to keep their dirty
page rate within the limit set by @rate. Since it just throttles the
virtual CPU, which dirties memory, read
From: Hyman Huang(黄勇)
set-vcpu-dirty-limit/cancel-vcpu-dirty-limit/query-vcpu-dirty-limit
were introduced since qemu >=7.1.0. Introduce corresponding
capability.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilitie
From: Hyman Huang(黄勇)
Introduce the virDomainCancelVcpuDirtyLimit API to cancel
the upper limit of dirty page rate.
Signed-off-by: Hyman Huang(黄勇)
---
include/libvirt/libvirt-domain.h | 4 +++
src/driver-hypervisor.h | 6
src/libvirt-domain.c | 52
From: Hyman Huang(黄勇)
Extend qemuDomainGetVcpus for getting dirty page rate upper
limit info so 'virsh vcpuinfo' api can display it.
Signed-off-by: Hyman Huang(黄勇)
---
include/libvirt/libvirt-domain.h | 2 ++
src/qemu/qemu_driver.c | 55 +++
From: Hyman Huang(黄勇)
Implement qemuMonitorQueryVcpuDirtyLimit which query vcpu
dirty limit info by calling qmp 'query-vcpu-dirty-limit'.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_monitor.c | 12 +++
src/qemu/qemu_monitor.h | 17 ++
src/qemu/qemu_moni
From: Hyman Huang(黄勇)
Introduce virDomainSetVcpuDirtyLimit API to set upper limit
of dirty page rate.
Signed-off-by: Hyman Huang(黄勇)
---
include/libvirt/libvirt-domain.h | 16 ++
src/driver-hypervisor.h | 7 +
src/libvirt-domain.c | 54
From: Hyman Huang(黄勇)
Generate cmd line for virtio-blk.discard and virtio-blk.write-zeroes
properties. Also, validate that the requested feature is supported by QEMU.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_command.c | 2 +
src/qemu/qemu_validate.c
ce capabilities of discard and write-zeroes for virtio-blk
2. add virtio_discard and virtio_write_zeroes attributes of driver in
disk xml element
3. generate cmd line when launching vm
Hyman Huang(黄勇) (3):
conf: Add 'virtio_discard' and 'virtio_write_zeroes' attributes
qemu_comm
From: Hyman Huang(黄勇)
Add 'virtio_discard' and 'virtio_write_zeroes' attribute to control
whether discard and write-zeroes requests are handled by the
virtio-blk device.
To distinguish the attributes in block drive layer, use the 'virtio'
prefix to indicate that
From: Hyman Huang(黄勇)
Signed-off-by: Hyman Huang(黄勇)
---
NEWS.rst | 8
1 file changed, 8 insertions(+)
diff --git a/NEWS.rst b/NEWS.rst
index 42c2c53091..b6fde7c353 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -17,6 +17,14 @@ v9.6.0 (unreleased)
* **New features**
+ * qemu
From: Hyman Huang(黄勇)
Generate cmd line for virtio-blk.discard and virtio-blk.write-zeroes
properties. Also, validate that the requested feature is supported by QEMU.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_command.c | 2 +
src/qemu/qemu_validate.c
roes attributes of driver in
disk xml element
3. generate cmd line when launching vm
Please review, any comments and suggestions are very appreciated,
thanks!
Yong
Hyman Huang(黄勇) (3):
qemu_capabilities: Introduce virtio-blk DISCARD and WRITE_ZEROES
capabilities
conf: Add
From: Hyman Huang(黄勇)
DISCARD and WRITE_ZEROES commands has been implemented in virtio-blk
protocol since qemu >= 4.2.0.
Introduce QEMU_CAPS_VIRTIO_BLK_DISCARD and QEMU_CAPS_VIRTIO_BLK_WRITE_ZEROES
capability definitions.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_capabilitie
From: Hyman Huang(黄勇)
Add 'virtio_discard' and 'virtio_write_zeroes' attribute to control
whether discard and write-zeroes requests are handled by the
virtio-blk device.
To distinguish the attributes in block drive layer, use the 'virtio'
prefix to indicate that
在 2022/9/6 15:47, Peter Krempa 写道:
On Tue, Sep 06, 2022 at 10:29:01 +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Libvirt logs and reports error when executing domblkinfo if vm
configured rbd storage and in inactive state.
The steps to reproduce the problem:
1. define and
在 2022/2/21 20:35, Michal Prívozník 写道:
On 2/20/22 14:28, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
v6:
- rebase on mastr
- drop the commit [PATCH v5 1/9] in this patchset, post an extra
commit if needed in the future.
Please review, thanks !
Regards
Yong
v5:
- [PATCH v5
在 2022/2/21 20:34, Michal Prívozník 写道:
On 2/20/22 14:28, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Extend domdirtyrate-calc virsh api with mode option, either
of these three options "page-sampling,dirty-bitmap,dirty-ring"
can be specified when calculating dirty
在 2022/2/21 20:34, Michal Prívozník 写道:
On 2/20/22 14:28, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Probing QEMU_CAPS_CALC_DIRTY_RATE capability in advance
in case of failure when calculating dirty page rate.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu/qemu_driver.c | 8
在 2022/2/18 0:19, Michal Prívozník 写道:
On 2/16/22 01:28, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
For any virTypedParameter API normal practice is to use a string
to expose the data, not the rather enum integer value.
So let's drop the virDomainDirtyRateStatus in p
在 2022/2/14 19:31, Daniel P. Berrangé 写道:
On Mon, Feb 14, 2022 at 07:21:58PM +0800, Hyman Huang wrote:
在 2022/2/14 18:13, Michal Prívozník 写道:
On 1/28/22 08:35, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Introduce virDomainDirtyRateCalcFlags and
virDomainDirtyRateCalcMode to
在 2022/2/14 18:13, Michal Prívozník 写道:
On 1/28/22 08:35, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Introduce virDomainDirtyRateCalcFlags and
virDomainDirtyRateCalcMode to get ready for adding mode
parameter to qemuDomainStartDirtyRateCalc.
Signed-off-by: Hyman Huang(黄勇
在 2022/2/14 18:13, Michal Prívozník 写道:
On 1/28/22 08:35, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Extend domdirtyrate-calc virsh api with mode option, either
of these three options "page-sampling,dirty-bitmap,dirty-ring"
can be specified when calculating dirty
Ping for this patchset.
Thanks,
Yong
在 2022/1/28 15:35, huang...@chinatelecom.cn 写道:
From: Hyman Huang(黄勇)
v3:
- Rebase the master
- [PATCH v2 2/6]: Fix the usage of virQEMUCapsGet
- [PATCH v2 4/6]: Fix the cleanup missed in qemuDomainStartDirtyRateCalc
- [PATCH v2 4/6]: Move all blocks
在 2022/1/27 16:34, Peter Krempa 写道:
On Thu, Jan 27, 2022 at 15:25:20 +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Add mode option to extend qemuDomainStartDirtyRateCalc API,
which is introduced since qemu >= 6.2.
Signed-off-by: Hyman Huang(黄勇)
---
include/libv
在 2022/1/27 16:23, Peter Krempa 写道:
On Thu, Jan 27, 2022 at 15:25:18 +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Probing QEMU_CAPS_CALC_DIRTY_RATE capability in advance
in case of failure when calculating dirty page rate.
Signed-off-by: Hyman Huang(黄勇)
---
src/qemu
在 2022/1/13 1:31, Daniel P. Berrangé 写道:
On Thu, Jan 13, 2022 at 12:37:45AM +0800, Hyman wrote:
在 2022/1/13 0:22, Daniel P. Berrangé 写道:
On Thu, Jan 13, 2022 at 12:11:47AM +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
When compile libvirt via ninja tool with default
在 2022/1/13 0:22, Daniel P. Berrangé 写道:
On Thu, Jan 13, 2022 at 12:11:47AM +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
When compile libvirt via ninja tool with default configuration,
it report the error message as the following:
"missing initializer for field
On 12/14/21 20:21, Michal Prívozník wrote:
On 12/14/21 10:22, Michal Prívozník wrote:
On 11/23/21 15:36, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Dirty ring feature was introduced in qemu-6.1.0, this patch
add the corresponding feature named 'dirty-ring', which en
On 12/14/21 17:22, Michal Prívozník wrote:
On 11/23/21 15:36, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
Dirty ring feature was introduced in qemu-6.1.0, this patch
add the corresponding feature named 'dirty-ring', which enable
dirty ring feature when starting vm.
To
Ping
Any corrections and suggetions are welcome.
Please review, thanks!
在 2021/11/23 22:36, huang...@chinatelecom.cn 写道:
From: "Hyman Huang(黄勇)"
v7
- rebase on master
- modify the following points according to the advice given by Peter
1. skip the -accel switch and reuse th
在 2021/11/22 22:48, Peter Krempa 写道:
On Sat, Nov 20, 2021 at 03:20:44 -0500, huang...@chinatelecom.cn wrote:
From: "Hyman Huang(黄勇)"
Ping for this series.
I still keep thinking the dirty ring feature is something good to
have for libvirt.
qemu-6.1 has supported dirty ring f
在 2021/11/22 16:55, Peter Krempa 写道:
On Sat, Nov 20, 2021 at 03:20:48 -0500, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
dirty ring feature was introduced in qemu-6.1, this patch add
corresponding feature named 'dirty-ring', which enable
dirty ring feature when starti
在 2021/11/22 16:54, Peter Krempa 写道:
On Sat, Nov 20, 2021 at 03:20:47 -0500, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
introduce dirty_ring_size in struct "_virDomainDef" to hold
the ring size configured by user, and pass dirty_ring_size
when building qemu commandlin
在 2021/11/22 16:50, Peter Krempa 写道:
On Sat, Nov 20, 2021 at 03:20:47 -0500, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
introduce dirty_ring_size in struct "_virDomainDef" to hold
the ring size configured by user, and pass dirty_ring_size
when building qemu commandlin
在 2021/11/22 16:43, Peter Krempa 写道:
On Sat, Nov 20, 2021 at 03:20:46 -0500, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
QEMU greater than 2.9.0 support '-accel' option, change the way
of assembling commandline from "accel=kvm" to "-accel kvm" when
s
ping - hi, what would you think about this patchset ? :)
在 2021/6/25 0:51, huang...@chinatelecom.cn 写道:
From: Hyman Huang(黄勇)
v3
- rebase master and fix the confilict when apply
"conf: introduce dirty_ring_size in struct "_virDomainDef" to current
master.
v2
- split
在 2021/6/21 15:29, Peter Krempa 写道:
On Sat, Jun 19, 2021 at 17:53:04 +0800, huang...@chinatelecom.cn wrote:
From: Hyman Huang(黄勇)
QEMU has introduced a dirty ring feature, this patch add corresponding
feature named 'dirty-ring', which enable dirty ring feature when
starting vm.
r can be specified
via Libvirt,such as kernel-irqchip,kvm-shadow-mem,tb-size,etc。
I think this series can make sense, and i would like to know whether
there is something wrong about this series, or other concern about this
series。I would be very thankful if letting me know.
Thanks!
Hyman
在 2021
ing this work, rather than
hard-writing code or using QEMU command line.
Thanks!
鍦� 2021/1/13 23:06, huang...@chinatelecom.cn 鍐欓亾:
From: Hyman
This patchset aims to support dirty ring feature which has been introduced
in kernel:
https://lore.kernel.org/lkml/8b3f68dd-c61c-16a0-2077-0
ely, me, Daniel Berrange, and Jan Tomko.
Thank you for remainding me. Now, I've seen the Authors.rst.in file and
do not try it anymore : )
From: Hyman
The test file disk-backing-chains-noindex.x86_64-latest.args has
'No newline at end of file', this patch rewrite it in case unexpe
在 2021/1/13 21:32, Han Han 写道:
On Wed, Jan 13, 2021 at 1:09 AM <mailto:huang...@chinatelecom.cn>> wrote:
From: Hyman mailto:huang...@chinatelecom.cn>>
QEMU introduced a dirty ring feature, this patch add a new
KVM feature 'dirty-ring' to set this featur
ow -accel combined with -machine
$ /usr/bin/qemu-kvm -accel tc
qemu-system-x86_64: The -accel and "-machine accel=" options are
incompatible
That script is useless, a symlink will do ever since QEMU 4.0. Fedora
can and should get rid of it, I'll take a look.
Is there any other distro that does the same? Libvirt cannot use
newer KVM features with "-machine accel".
Paolo
Best Regards !
Hyman
68 matches
Mail list logo