qemu-e2k/accel/kvm
Peter Xu b4420f198d KVM: Dirty ring support
KVM dirty ring is a new interface to pass over dirty bits from kernel to the
userspace.  Instead of using a bitmap for each memory region, the dirty ring
contains an array of dirtied GPAs to fetch (in the form of offset in slots).
For each vcpu there will be one dirty ring that binds to it.

kvm_dirty_ring_reap() is the major function to collect dirty rings.  It can be
called either by a standalone reaper thread that runs in the background,
collecting dirty pages for the whole VM.  It can also be called directly by any
thread that has BQL taken.

Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20210506160549.130416-11-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2021-05-26 14:49:46 +02:00
..
kvm-accel-ops.c accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
kvm-all.c KVM: Dirty ring support 2021-05-26 14:49:46 +02:00
kvm-cpus.h accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
meson.build accel: replace struct CpusAccel with AccelOpsClass 2021-02-05 10:24:15 -10:00
sev-stub.c confidential guest support: Move SEV initialization into arch specific code 2021-02-08 16:57:38 +11:00
trace-events KVM: Dirty ring support 2021-05-26 14:49:46 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00