qemu/accel
Peter Xu a81a592698 KVM: Disable manual dirty log when dirty ring enabled
KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 is for KVM_CLEAR_DIRTY_LOG, which is only
useful for KVM_GET_DIRTY_LOG.  Skip enabling it for kvm dirty ring.

More importantly, KVM_DIRTY_LOG_INITIALLY_SET will not wr-protect all the pages
initially, which is against how kvm dirty ring is used - there's no way for kvm
dirty ring to re-protect a page before it's notified as being written first
with a GFN entry in the ring!  So when KVM_DIRTY_LOG_INITIALLY_SET is enabled
with dirty ring, we'll see silent data loss after migration.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210506160549.130416-10-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-05-26 14:49:46 +02:00
..
hvf hvf: Add hypervisor entitlement to output binaries 2021-01-29 10:47:28 +00:00
kvm KVM: Disable manual dirty log when dirty ring enabled 2021-05-26 14:49:46 +02:00
qtest accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
stubs Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
tcg accel/tlb: Rename tlb_flush_[page_bits > range]_by_mmuidx_async_[2 > 1] 2021-05-25 16:01:43 +01:00
xen sysemu: Let VMChangeStateHandler take boolean 'running' argument 2021-03-09 23:13:57 +01:00
accel-common.c accel: add init_accel_cpu for adapting accel behavior to CPU type 2021-05-10 15:41:52 -04:00
accel-softmmu.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
accel-softmmu.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
accel-user.c accel: extend AccelState and AccelClass to user-mode 2021-02-05 10:24:15 -10:00
dummy-cpus.c accel: move qtest CpusAccel functions to a common location 2020-10-24 07:23:19 +02:00
Kconfig Add NVMM accelerator: configure and build logic 2021-05-04 14:15:34 +02:00
meson.build accel: extend AccelState and AccelClass to user-mode 2021-02-05 10:24:15 -10:00