Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1341959

[PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations

From Paolo Bonzini <pbonzini@redhat.com>
Newsgroups linux.kernel
Subject [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations
Date 2016-02-24 14:20 +0100
Message-ID <r5Hwe-543-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few micro-optimizations Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:20 +0100
  [PATCH 10/12] KVM: mark memory barrier with smp_mb__after_atomic Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:20 +0100
  [PATCH 05/12] KVM: MMU: use kvm_sync_page in kvm_sync_pages Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:30 +0100
  [PATCH 08/12] KVM: MMU: move zap/flush to kvm_mmu_get_page Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:30 +0100
    Re: [PATCH 08/12] KVM: MMU: move zap/flush to kvm_mmu_get_page Xiao Guangrong <guangrong.xiao@linux.intel.com> - 2016-02-25 08:40 +0100
      Re: [PATCH 08/12] KVM: MMU: move zap/flush to kvm_mmu_get_page Paolo Bonzini <pbonzini@redhat.com> - 2016-02-25 09:50 +0100
  [PATCH 02/12] KVM: MMU: check kvm_mmu_pages and mmu_page_path indices Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:30 +0100
  [PATCH 03/12] KVM: MMU: introduce kvm_mmu_flush_or_zap Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:30 +0100
  [PATCH 04/12] KVM: MMU: move TLB flush out of __kvm_sync_page Paolo Bonzini <pbonzini@redhat.com> - 2016-02-24 14:30 +0100
  Re: [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few  micro-optimizations Xiao Guangrong <guangrong.xiao@linux.intel.com> - 2016-02-25 09:30 +0100
    Re: [PATCH 00/12] KVM: MMU: cleanup around kvm_sync_page, and a few  micro-optimizations Paolo Bonzini <pbonzini@redhat.com> - 2016-02-25 09:50 +0100

csiph-web