From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [PATCH 0/4] Unlocked TLB flush Date: Thu, 3 May 2012 14:22:58 +0300 Message-ID: <1336044182-12023-1-git-send-email-avi@redhat.com> To: kvm@vger.kernel.org, Marcelo Tosatti , Xiao Guangrong , takuya.yoshikawa@gmail.com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:39106 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751524Ab2ECLXT (ORCPT ); Thu, 3 May 2012 07:23:19 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This patchset implements unlocked TLB flushing for KVM. An operation that generates stale TLB entries can mark the TLB as dirty instead of flushing immediately, and then flush after releasing mmu_lock but before returning to the guest or the caller. A few call sites are converted too. Note not all call sites are easily convertible; as an example, sync_page() must flush before reading the guest page table. Avi Kivity (4): KVM: Add APIs for unlocked TLB flush KVM: Flush TLB in mmu notifier without holding mmu_lock KVM: Flush TLB in FNAME(invlpg) without holding mmu_lock KVM: Flush TLB in change_pte mmu notifier without holding mmu_lock Documentation/virtual/kvm/locking.txt | 14 ++++++++++++ arch/x86/kvm/mmu.c | 15 +++++-------- arch/x86/kvm/paging_tmpl.h | 9 ++++---- include/linux/kvm_host.h | 22 ++++++++++++++++++- virt/kvm/kvm_main.c | 39 +++++++++++++++++++++++---------- 5 files changed, 72 insertions(+), 27 deletions(-) -- 1.7.10