[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/28] KVM: Simplify dirty log sync in kvm_set_phys_mem
From: |
Paolo Bonzini |
Subject: |
[PULL 14/28] KVM: Simplify dirty log sync in kvm_set_phys_mem |
Date: |
Mon, 24 May 2021 18:41:17 +0200 |
From: Peter Xu <peterx@redhat.com>
kvm_physical_sync_dirty_bitmap() on the whole section is inaccurate, because
the section can be a superset of the memslot that we're working on. The result
is that if the section covers multiple kvm memslots, we could be doing the
synchronization for multiple times for each kvmslot in the section.
With the two helpers that we just introduced, it's very easy to do it right now
by calling the helpers.
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210506160549.130416-7-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
accel/kvm/kvm-all.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 7031dd4250..0ba6d48120 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -1161,7 +1161,8 @@ static void kvm_set_phys_mem(KVMMemoryListener *kml,
goto out;
}
if (mem->flags & KVM_MEM_LOG_DIRTY_PAGES) {
- kvm_physical_sync_dirty_bitmap(kml, section);
+ kvm_slot_get_dirty_log(kvm_state, mem);
+ kvm_slot_sync_dirty_pages(mem);
}
/* unregister the slot */
--
2.31.1
- [PULL 19/28] tests/qtest/fuzz: Fix build failure, (continued)
- [PULL 19/28] tests/qtest/fuzz: Fix build failure, Paolo Bonzini, 2021/05/24
- [PULL 18/28] KVM: Dirty ring support, Paolo Bonzini, 2021/05/24
- [PULL 20/28] meson: Set implicit_include_directories to false, Paolo Bonzini, 2021/05/24
- [PULL 25/28] doc: Add notes about -mon option mode=control argument., Paolo Bonzini, 2021/05/24
- [PULL 07/28] qtest: add a QOM object for qtest, Paolo Bonzini, 2021/05/24
- [PULL 27/28] hw/scsi: Fix sector translation bug in scsi_unmap_complete_noio, Paolo Bonzini, 2021/05/24
- [PULL 26/28] configure: Avoid error messages about missing *-config-*.h files, Paolo Bonzini, 2021/05/24
- [PULL 28/28] gitlab-ci: use --meson=git for CFI jobs, Paolo Bonzini, 2021/05/24
- [PULL 17/28] KVM: Disable manual dirty log when dirty ring enabled, Paolo Bonzini, 2021/05/24
- [PULL 05/28] i386/cpu: Expose AVX_VNNI instruction to guest, Paolo Bonzini, 2021/05/24
- [PULL 14/28] KVM: Simplify dirty log sync in kvm_set_phys_mem,
Paolo Bonzini <=
- [PULL 15/28] KVM: Cache kvm slot dirty bitmap size, Paolo Bonzini, 2021/05/24
- [PULL 24/28] qemu-config: load modules when instantiating option groups, Paolo Bonzini, 2021/05/24
- [PULL 16/28] KVM: Add dirty-ring-size property, Paolo Bonzini, 2021/05/24
- [PULL 23/28] vl: allow not specifying size in -m when using -M memory-backend, Paolo Bonzini, 2021/05/24
- [PULL 12/28] KVM: Provide helper to get kvm dirty log, Paolo Bonzini, 2021/05/24
- Re: [PULL 00/28] Misc patches for 2021-05-24, no-reply, 2021/05/24
- Re: [PULL 00/28] Misc patches for 2021-05-24, Peter Maydell, 2021/05/24