| From: |
| Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> |
| To: |
| Avi Kivity <avi@redhat.com> |
| Subject: |
| [PATCH v2 00/16] KVM: MMU: fast page fault |
| Date: |
| Fri, 13 Apr 2012 18:05:29 +0800 |
| Message-ID: |
| <4F87FA69.5060106@linux.vnet.ibm.com> |
| Cc: |
| Marcelo Tosatti <mtosatti@redhat.com>,
LKML <linux-kernel@vger.kernel.org>, KVM <kvm@vger.kernel.org> |
| Archive-link: |
| Article, Thread
|
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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/