From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754754AbcBXNSA (ORCPT ); Wed, 24 Feb 2016 08:18:00 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:33695 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754127AbcBXNR6 (ORCPT ); Wed, 24 Feb 2016 08:17:58 -0500 From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: yoshikawa_takuya_b1@lab.ntt.co.jp, guangrong.xiao@linux.intel.com, mtosatti@redhat.com Subject: [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations Date: Wed, 24 Feb 2016 14:17:41 +0100 Message-Id: <1456319873-34182-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-) -- 1.8.3.1