[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration |
Date: |
Thu, 11 May 2017 14:24:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.0 |
On 11/05/2017 14:07, Zhoujian (jay) wrote:
> - * Scan sptes if dirty logging has been stopped, dropping those
> - * which can be collapsed into a single large-page spte. Later
> - * page faults will create the large-page sptes.
> + * Reset each vcpu's mmu, then page faults will create the large-page
> + * sptes later.
> */
> if ((change != KVM_MR_DELETE) &&
> (old->flags & KVM_MEM_LOG_DIRTY_PAGES) &&
> - !(new->flags & KVM_MEM_LOG_DIRTY_PAGES))
> - kvm_mmu_zap_collapsible_sptes(kvm, new);
> + !(new->flags & KVM_MEM_LOG_DIRTY_PAGES)) {
> + kvm_for_each_vcpu(i, vcpu, kvm)
> + kvm_mmu_reset_context(vcpu);
This should be "kvm_make_all_cpus_request(kvm, KVM_REQ_MMU_RELOAD);" but
I am not sure it is enough. I think that if you do not zap the SPTEs,
the page faults will use 4K SPTEs, not large ones (though I'd have to
check better; CCing Xiao and Wanpeng).
Paolo