kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5 v2] KVM: x86: MMU: Eliminate extra memory slot searches in page fault handlers
@ 2015-10-16  8:03 Takuya Yoshikawa
  2015-10-16  8:04 ` [PATCH 1/5] KVM: x86: MMU: Make force_pt_level bool Takuya Yoshikawa
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Takuya Yoshikawa @ 2015-10-16  8:03 UTC (permalink / raw)
  To: pbonzini; +Cc: kvm, linux-kernel

v2: Based on Paolo's suggestion, kept the common code as much as possible by
    introducing memslot_valid_for_gpte().

    Note: instead of joining all checks by boolean operators, splitted the
    no_dirty_log case off to be a separate if-check because it is checking
    clearly different thing than the rest.  See patch 4 for details.

In page fault handlers, both mapping_level_dirty_bitmap() and mapping_level()
do a memory slot search, binary search, through kvm_vcpu_gfn_to_memslot(), which
may not be negligible especially for virtual machines with many memory slots.

With a bit of cleanup effort, the patch set reduces this overhead.

	Takuya

Takuya Yoshikawa (5):
  KVM: x86: MMU: Make force_pt_level bool
  KVM: x86: MMU: Simplify force_pt_level calculation code in FNAME(page_fault)()
  KVM: x86: MMU: Merge mapping_level_dirty_bitmap() into mapping_level()
  KVM: x86: MMU: Remove mapping_level_dirty_bitmap()
  KVM: x86: MMU: Eliminate an extra memory slot search in mapping_level()

 arch/x86/kvm/mmu.c         | 70 +++++++++++++++++++++++++++-------------------
 arch/x86/kvm/paging_tmpl.h | 19 ++++++-------
 2 files changed, 50 insertions(+), 39 deletions(-)

-- 
2.1.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-10-16  8:20 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-16  8:03 [PATCH 0/5 v2] KVM: x86: MMU: Eliminate extra memory slot searches in page fault handlers Takuya Yoshikawa
2015-10-16  8:04 ` [PATCH 1/5] KVM: x86: MMU: Make force_pt_level bool Takuya Yoshikawa
2015-10-16  8:05 ` [PATCH 2/5] KVM: x86: MMU: Simplify force_pt_level calculation code in FNAME(page_fault)() Takuya Yoshikawa
2015-10-16  8:06 ` [PATCH 3/5] KVM: x86: MMU: Merge mapping_level_dirty_bitmap() into mapping_level() Takuya Yoshikawa
2015-10-16  8:07 ` [PATCH 4/5] KVM: x86: MMU: Remove mapping_level_dirty_bitmap() Takuya Yoshikawa
2015-10-16  8:08 ` [PATCH 5/5] KVM: x86: MMU: Eliminate an extra memory slot search in mapping_level() Takuya Yoshikawa
2015-10-16  8:20 ` [PATCH 0/5 v2] KVM: x86: MMU: Eliminate extra memory slot searches in page fault handlers Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).