[Top][All Lists]

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

Re: [PATCH] kvm: mirror "-machine dirty_gfn_count" to the accelerator pr

From: Paolo Bonzini
Subject: Re: [PATCH] kvm: mirror "-machine dirty_gfn_count" to the accelerator property
Date: Fri, 8 Jan 2021 21:41:21 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

On 08/01/21 20:08, huangy81@chinatelecom.cn wrote:
QEMU enable the dirty ring feature by specifing the "-accel" sub-parameter.
Libvirt use "-machine accel=kvm" option to specify the accelerator by default,
which is incompatible with above option.

This patch introduce the "dirty_gfn_count" sub-parameter of the "-machine"
in the way that the commit "23b089" has done. So that Libvirt can enable this
feature by adding "-machine dirty_gfn_count=xxx" to the QEMU command line.

Signed-off-by: Hyman <huangy81@chinatelecom.cn>

Libvirt should switch to "-accel kvm" instead. The "-machine" options for accelerators are legacy and now there is a better mechanism. There will never be a version of QEMU that supports dirty ring and doesn't support "-accel kvm", so it's easy for Libvirt to detect when to use "-accel".


  softmmu/vl.c       | 3 ++-
  util/qemu-config.c | 4 ++++
  2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/softmmu/vl.c b/softmmu/vl.c
index 7ddf405..d8e3dec 100644
--- a/softmmu/vl.c
+++ b/softmmu/vl.c
@@ -1666,7 +1666,8 @@ static int machine_set_property(void *opaque,
          object_register_sugar_prop(ACCEL_CLASS_NAME("xen"), qom_name, value);
          return 0;
-    if (g_str_equal(qom_name, "kvm-shadow-mem")) {
+    if (g_str_equal(qom_name, "kvm-shadow-mem") ||
+        g_str_equal(qom_name, "dirty-gfn-count")) {
          object_register_sugar_prop(ACCEL_CLASS_NAME("kvm"), qom_name, value);
          return 0;
diff --git a/util/qemu-config.c b/util/qemu-config.c
index e2a700b..70f1b50 100644
--- a/util/qemu-config.c
+++ b/util/qemu-config.c
@@ -234,6 +234,10 @@ static QemuOptsList machine_opts = {
              .help = "Up to 8 chars in set of [A-Za-z0-9. ](lower case chars"
                      " converted to upper case) to pass to machine"
                      " loader, boot manager, and guest kernel",
+        },{
+            .name = "dirty_gfn_count",
+            .type = QEMU_OPT_NUMBER,
+            .help = "KVM dirty ring GFN count",
          { /* End of list */ }

reply via email to

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