From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations Date: Fri, 4 Mar 2016 22:43:14 +0100 Message-ID: <56DA0172.5030406@redhat.com> References: <1456319873-34182-1-git-send-email-pbonzini@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Cc: yoshikawa_takuya_b1@lab.ntt.co.jp, guangrong.xiao@linux.intel.com, mtosatti@redhat.com To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Return-path: In-Reply-To: <1456319873-34182-1-git-send-email-pbonzini@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 24/02/2016 14:17, Paolo Bonzini wrote: > This series started from looking at mmu_unsync_walk for the ubsan thread. > Patches 1 and 2 are the result of the discussions in that thread. > > Patches 3 to 9 do more cleanups in __kvm_sync_page and its callers. > Among other changes, it removes kvm_sync_page_transient and avoids > duplicate code between __kvm_sync_page and kvm_sync_pages. > > I stopped where I had questions about the existing kvm_mmu_get_page > code (see patch 8 for the question). However perhaps more cleanups > are possible, also thanks to Takuya's work on that function and > link_shadow_page. > > Patches 10 to 12 are just micro-optimizations. > > Guangrong, it would be great if you took a look since you know this part > of KVM very well. > > I have tested this series minus patch 9, and it survived installation > of various Linux and Windows guests with EPT disabled. Of course before > committing the patches I will retest with patch 9 included. > > Paolo > > Paolo Bonzini (11): > KVM: MMU: Fix ubsan warnings > KVM: MMU: introduce kvm_mmu_flush_or_zap > KVM: MMU: move TLB flush out of __kvm_sync_page > KVM: MMU: use kvm_sync_page in kvm_sync_pages > KVM: MMU: cleanup __kvm_sync_page and its callers > KVM: MMU: invert return value of FNAME(sync_page) and *kvm_sync_page* > KVM: MMU: move zap/flush to kvm_mmu_get_page > KVM: MMU: coalesce zapping page after mmu_sync_children > KVM: mark memory barrier with smp_mb__after_atomic > KVM: MMU: simplify last_pte_bitmap > KVM: MMU: micro-optimize gpte_access > > Xiao Guangrong (1): > KVM: MMU: check kvm_mmu_pages and mmu_page_path indices > > arch/x86/include/asm/kvm_host.h | 6 +- > arch/x86/kvm/mmu.c | 216 ++++++++++++++++++++++------------------ > arch/x86/kvm/paging_tmpl.h | 11 +- > virt/kvm/kvm_main.c | 2 +- > 4 files changed, 126 insertions(+), 109 deletions(-) > I've pushed patches 1 and 2 to kvm/next now; I'll repost the others next Monday since there were very small conflicts with the page tracking series. Paolo