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