Hi Marc, On 2020/3/10 21:16, Marc Zyngier wrote: > On 2020-03-10 08:26, zhukeqian wrote: >> Hi Marc, >> >> On 2020/3/9 19:45, Marc Zyngier wrote: >>> Kegian, > > [...] > >>> Is there a userspace counterpart to it? >>> >> As this KVM/x86 related changes have not been merged to mainline >> kernel, some little modification is needed on mainline Qemu. > > Could you please point me to these changes? I made some changes locally listed below. However, Qemu can choose to enable KVM_DIRTY_LOG_INITIALLY_SET or not. Here I made no judgement on dirty_log_manual_caps because I just want to verify the optimization of this patch. diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 439a4efe52..1611f644a4 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -2007,14 +2007,16 @@ static int kvm_init(MachineState *ms) s->coalesced_pio = s->coalesced_mmio && kvm_check_extension(s, KVM_CAP_COALESCED_PIO); - s->manual_dirty_log_protect = + uint64_t dirty_log_manual_caps = kvm_check_extension(s, KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2); - if (s->manual_dirty_log_protect) { - ret = kvm_vm_enable_cap(s, KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2, 0, 1); + if (dirty_log_manual_caps) { + ret = kvm_vm_enable_cap(s, KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2, 0, + dirty_log_manual_caps); if (ret) { warn_report("Trying to enable KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 " "but failed. Falling back to the legacy mode. "); - s->manual_dirty_log_protect = false; + } else { + s->manual_dirty_log_protect = true; } } > >> As I tested this patch on a 128GB RAM Linux VM with no huge pages, the >> time of enabling dirty log will decrease obviously. > > I'm not sure how realistic that is. Not having huge pages tends to lead > to pretty bad performance in general... Sure, this has no effect on guests which are all of huge pages. For my understanding, once a guest has normal pages (maybe are initialized at beginning or dissloved from huge pages), it can benefit from this patch. > > Thanks, > > M. Pretty thanks for your review. Thanks, Keqian _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm