All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] KVM: MMU: fast page fault
@ 2012-04-13 10:05 Xiao Guangrong
  2012-04-13 10:09 ` [PATCH v2 01/16] KVM: MMU: cleanup __direct_map Xiao Guangrong
                   ` (16 more replies)
  0 siblings, 17 replies; 49+ messages in thread
From: Xiao Guangrong @ 2012-04-13 10:05 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Marcelo Tosatti, LKML, KVM

Thanks for Avi and Marcelo's review, i have simplified the whole things
in this version:
- it only fix the page fault with PFEC.P = 1 && PFEC.W = 0 that means
  unlock set_spte path can be dropped.

- it only fixes the page fault caused by dirty-log

In this version, all the information we need is from spte, the
SPTE_ALLOW_WRITE bit and SPTE_WRITE_PROTECT bit:
   - SPTE_ALLOW_WRITE is set if the gpte is writable and the pfn pointed
     by the spte is writable on host.
   - SPTE_WRITE_PROTECT is set if the spte is write-protected by shadow
     page table protection.

All these bits can be protected by cmpxchg, now, all the things is fairly
simple than before. :)

Performance test:

autotest migration:
(Host: Intel(R) Xeon(R) CPU           X5690  @ 3.47GHz * 12 + 32G)

- For ept:

Before:
                    smp2.Fedora.16.64.migrate
Times   .unix      .with_autotest.dbench.unix     total
 1       104           214                         323
 2       68            238                         310
 3       68            242                         314

After:
                    smp2.Fedora.16.64.migrate
Times   .unix      .with_autotest.dbench.unix     total
 1       101           190                         295
 2       67            188                         259
 3       66            217                         289


- For shadow mmu:

Before:
                    smp2.Fedora.16.64.migrate
Times   .unix      .with_autotest.dbench.unix     total
 1       103           235                         342
 2       64            219                         286
 3       68            234                         305

After:
                    smp2.Fedora.16.64.migrate
Times   .unix      .with_autotest.dbench.unix     total
 1       104           220                         328
 2       65            204                         273
 3       64            219                         286


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

end of thread, other threads:[~2012-04-21  4:36 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-13 10:05 [PATCH v2 00/16] KVM: MMU: fast page fault Xiao Guangrong
2012-04-13 10:09 ` [PATCH v2 01/16] KVM: MMU: cleanup __direct_map Xiao Guangrong
2012-04-13 10:10 ` [PATCH v2 02/16] KVM: MMU: introduce mmu_spte_establish Xiao Guangrong
2012-04-13 10:10 ` [PATCH v2 03/16] KVM: MMU: properly assert spte on rmap walking path Xiao Guangrong
2012-04-14  2:15   ` Takuya Yoshikawa
2012-04-16  3:26     ` Xiao Guangrong
2012-04-13 10:11 ` [PATCH v2 04/16] KVM: MMU: return bool in __rmap_write_protect Xiao Guangrong
2012-04-14  2:00   ` Takuya Yoshikawa
2012-04-15 11:25     ` Avi Kivity
2012-04-16 14:14       ` Takuya Yoshikawa
2012-04-16 14:28         ` Avi Kivity
2012-04-16 15:54           ` Takuya Yoshikawa
2012-04-13 10:11 ` [PATCH v2 05/16] KVM: MMU: abstract spte write-protect Xiao Guangrong
2012-04-14  2:26   ` Takuya Yoshikawa
2012-04-16  3:27     ` Xiao Guangrong
2012-04-13 10:12 ` [PATCH v2 06/16] KVM: VMX: export PFEC.P bit on ept Xiao Guangrong
2012-04-13 10:12 ` [PATCH v2 07/16] KVM: MMU: introduce for_each_pte_list_spte Xiao Guangrong
2012-04-14  2:44   ` Takuya Yoshikawa
2012-04-16  3:36     ` Xiao Guangrong
2012-04-17 14:47       ` Takuya Yoshikawa
2012-04-18  4:01         ` Xiao Guangrong
2012-04-21  1:01           ` Takuya Yoshikawa
2012-04-21  4:36             ` Xiao Guangrong
2012-04-18 10:03         ` Xiao Guangrong
2012-04-21  1:03           ` Takuya Yoshikawa
2012-04-13 10:13 ` [PATCH v2 08/16] KVM: MMU: store more bits in rmap Xiao Guangrong
2012-04-13 10:13 ` [PATCH v2 09/16] KVM: MMU: fast mmu_need_write_protect path for hard mmu Xiao Guangrong
2012-04-13 10:14 ` [PATCH v2 10/16] KVM: MMU: fask check whether page is writable Xiao Guangrong
2012-04-14  3:01   ` Takuya Yoshikawa
2012-04-16  3:38     ` Xiao Guangrong
2012-04-15 15:16   ` Avi Kivity
2012-04-16  3:25     ` Xiao Guangrong
2012-04-16 10:02       ` Avi Kivity
2012-04-16 10:20         ` Xiao Guangrong
2012-04-16 11:47           ` Avi Kivity
2012-04-17  3:55             ` Xiao Guangrong
2012-04-17  7:41               ` Avi Kivity
2012-04-17 12:10                 ` Xiao Guangrong
2012-04-13 10:14 ` [PATCH v2 11/16] KVM: MMU: introduce SPTE_ALLOW_WRITE bit Xiao Guangrong
2012-04-13 10:15 ` [PATCH v2 12/16] KVM: MMU: introduce SPTE_WRITE_PROTECT bit Xiao Guangrong
2012-04-13 10:15 ` [PATCH v2 13/16] KVM: MMU: break sptes write-protect if gfn is writable Xiao Guangrong
2012-04-13 10:16 ` [PATCH v2 14/16] KVM: MMU: fast path of handling guest page fault Xiao Guangrong
2012-04-18  1:47   ` Marcelo Tosatti
2012-04-18  3:53     ` Xiao Guangrong
2012-04-18 23:08       ` Marcelo Tosatti
2012-04-13 10:17 ` [PATCH v2 15/16] KVM: MMU: trace fast " Xiao Guangrong
2012-04-13 10:17 ` [PATCH v2 16/16] KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint Xiao Guangrong
2012-04-14  3:37 ` [PATCH v2 00/16] KVM: MMU: fast page fault Takuya Yoshikawa
2012-04-16  3:50   ` Xiao Guangrong

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.