From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lai Jiangshan Subject: [PATCH] kvm,async_pf: add missing kvm_async_pf_hash_reset() Date: Mon, 21 Feb 2011 11:21:30 +0800 Message-ID: <4D61DA3A.7040501@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit To: "kvm@vger.kernel.org" , Avi Kivity , Marcelo Tosatti , Gleb Natapov Return-path: Received: from cn.fujitsu.com ([222.73.24.84]:64616 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1750819Ab1BUDVL (ORCPT ); Sun, 20 Feb 2011 22:21:11 -0500 Sender: kvm-owner@vger.kernel.org List-ID: The hash array of async gfns may still contain some left gfns after kvm_clear_async_pf_completion_queue() called, need to clear them. diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 17af71d..dae2d15 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -525,8 +525,10 @@ int kvm_set_cr0(struct kvm_vcpu *vcpu, unsigned long cr0) kvm_x86_ops->set_cr0(vcpu, cr0); - if ((cr0 ^ old_cr0) & X86_CR0_PG) + if ((cr0 ^ old_cr0) & X86_CR0_PG) { kvm_clear_async_pf_completion_queue(vcpu); + kvm_async_pf_hash_reset(vcpu); + } if ((cr0 ^ old_cr0) & update_bits) kvm_mmu_reset_context(vcpu);