[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: |
Wanpeng Li |
Subject: |
Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration |
Date: |
Thu, 11 May 2017 21:43:58 +0800 |
2017-05-11 20:24 GMT+08:00 Paolo Bonzini <address@hidden>:
>
>
> 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);
This is an unlikely branch(unless guest live migration fails and
continue to run on the source machine) instead of hot path, do you
have any performance number for your real workloads?
Regards,
Wanpeng Li
>> + !(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
- Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration, Zhoujian (jay), 2017/05/11
- Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration, Paolo Bonzini, 2017/05/17
- Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration, Wanpeng Li, 2017/05/17
- Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration, Jay Zhou, 2017/05/19
- Re: [Qemu-devel] About QEMU BQL and dirty log switch in Migration, Xiao Guangrong, 2017/05/19