在 2023/8/16 15:18, Yan Zhao 写道: > On Wed, Aug 16, 2023 at 03:29:22PM +0800, bibo mao wrote: >>> Flush must be done before kvm->mmu_lock is unlocked, otherwise, >>> confusion will be caused when multiple threads trying to update the >>> secondary MMU. >> Since tlb flush is delayed after all pte entries are cleared, and currently >> there is no tlb flush range supported for secondary mmu. I do know why there >> is confusion before or after kvm->mmu_lock. > > Oh, do you mean only do kvm_unmap_gfn_range() in .invalidate_range_end()? yes, it is just sketchy thought for numa balance scenery, do kvm_unmap_gfn_range() in invalidate_range_end rather than invalidate_range_start. > Then check if PROT_NONE is set in primary MMU before unmap? > Looks like a good idea, I need to check if it's feasible. > Thanks! > >