alistair23-linux/drivers/kvm
Avi Kivity 0028425f64 KVM: Update shadow pte on write to guest pte
A typical demand page/copy on write pattern is:

- page fault on vaddr
- kvm propagates fault to guest
- guest handles fault, updates pte
- kvm traps write, clears shadow pte, resumes guest
- guest returns to userspace, re-faults on same vaddr
- kvm installs shadow pte, resumes guest
- guest continues

So, three vmexits for a single guest page fault.  But if instead of clearing
the page table entry, we update to correspond to the value that the guest
has just written, we eliminate the third vmexit.

This patch does exactly that, reducing kbuild time by about 10%.

Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-07-16 12:05:39 +03:00
..
Kconfig [S390] Kconfig: refine depends statements. 2007-05-10 15:46:07 +02:00
kvm.h KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write() 2007-07-16 12:05:38 +03:00
kvm_main.c KVM: Unify kvm_mmu_pre_write() and kvm_mmu_post_write() 2007-07-16 12:05:38 +03:00
kvm_svm.h KVM: SVM: Only save/restore MSRs when needed 2007-05-03 10:52:32 +03:00
Makefile
mmu.c KVM: Update shadow pte on write to guest pte 2007-07-16 12:05:39 +03:00
paging_tmpl.h KVM: Update shadow pte on write to guest pte 2007-07-16 12:05:39 +03:00
segment_descriptor.h
svm.c KVM: SVM: Allow direct guest access to PC debug port 2007-07-16 12:05:37 +03:00
svm.h KVM: SVM: forbid guest to execute monitor/mwait 2007-05-03 10:52:26 +03:00
vmx.c KVM: Be more careful restoring fs on lightweight vmexit 2007-07-16 12:05:38 +03:00
vmx.h
x86_emulate.c KVM: Allow passing 64-bit values to the emulated read/write API 2007-05-03 10:52:31 +03:00
x86_emulate.h KVM: Allow passing 64-bit values to the emulated read/write API 2007-05-03 10:52:31 +03:00