[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1456319873-34182-1-git-send-email-pbonzini@redhat.com>
Date: Wed, 24 Feb 2016 14:17:41 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Cc: yoshikawa_takuya_b1@....ntt.co.jp, guangrong.xiao@...ux.intel.com,
mtosatti@...hat.com
Subject: [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations
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
Powered by blists - more mailing lists