From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Teoh Subject: tlb flushing after spin_unlock of mmu lock Date: Sat, 11 Apr 2009 00:45:21 -0400 Message-ID: <804dabb00904102145r446de3dfw6e2a287736fb170c@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org Return-path: Received: from mail-gx0-f160.google.com ([209.85.217.160]:47046 "EHLO mail-gx0-f160.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752290AbZDKEpX (ORCPT ); Sat, 11 Apr 2009 00:45:23 -0400 Received: by gxk4 with SMTP id 4so3071437gxk.13 for ; Fri, 10 Apr 2009 21:45:21 -0700 (PDT) Sender: kvm-owner@vger.kernel.org List-ID: In this function, the TLB flushing comes before spin unlock, void kvm_mmu_slot_remove_write_access(struct kvm *kvm, int slot) { struct kvm_mmu_page *sp; spin_lock(&kvm->mmu_lock); kvm_flush_remote_tlbs(kvm); spin_unlock(&kvm->mmu_lock); } but in kvm_vm_ioctl_set_memory_alias(): spin_unlock(&kvm->mmu_lock); kvm_mmu_zap_all(kvm); it comes after inside kvm_mmu_zap_all(). Does it sound logical? -- Regards, Peter Teoh