Re: [PATCH] KVM: Remove duplicated zero clear with dirty_bitmap buffer

From: maobibo
Date: Thu Jun 20 2024 - 22:00:06 EST




On 2024/6/21 上午5:17, Paolo Bonzini wrote:
On 6/14/24 04:45, maobibo wrote:
I do not know whether KVM_DIRTY_LOG_INITIALLY_SET should be enabled on LoongArch. If it is set, write protection for second MMU will start one by one in function kvm_arch_mmu_enable_log_dirty_pt_masked() when dirty log is cleared if it is set, else write protection will start in function kvm_arch_commit_memory_region() when flag of memslot is changed.

I do not see the obvious benefits between these two write protect stages. Can anyone give me any hints?

The advantage is that you get (a lot) fewer vmexits to set the dirty bitmap, and that write protection is not done in a single expensive step.  Instead it is done at the time that userspace first clears the bits in the dirty bitmap.  It provides much better performance.
Got it, thanks for the explanation .

Regards
Bibo Mao

Paolo