[PATCH v3 0/2] KVM: x86: Enable dirty logging lazily for huge pages

From: Keqian Zhu
Date: Wed Apr 28 2021 - 23:42:37 EST


Hi,

Currently during start dirty logging, if we're with init-all-set,
we write protect huge pages and leave normal pages untouched, for
that we can enable dirty logging for these pages lazily.

Actually enable dirty logging lazily for huge pages is feasible
too, which not only reduces the time of start dirty logging, also
greatly reduces side-effect on guest when there is high dirty rate.

Thanks,
Keqian

Changelog:

v3:
- Discussed with Ben and delete RFC comments. Thanks.

Keqian Zhu (2):
KVM: x86: Support write protect gfn with min_level
KVM: x86: Not wr-protect huge page with init_all_set dirty log

arch/x86/kvm/mmu/mmu.c | 38 ++++++++++++++++++++++++++-------
arch/x86/kvm/mmu/mmu_internal.h | 3 ++-
arch/x86/kvm/mmu/page_track.c | 2 +-
arch/x86/kvm/mmu/tdp_mmu.c | 16 ++++++++++----
arch/x86/kvm/mmu/tdp_mmu.h | 3 ++-
arch/x86/kvm/x86.c | 37 +++++++++-----------------------
6 files changed, 57 insertions(+), 42 deletions(-)

--
2.23.0