All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.