linux/arch/x86/kvm
Marcelo Tosatti ecc5589f19 KVM: MMU: optimize set_spte for page sync
The write protect verification in set_spte is unnecessary for page sync.

Its guaranteed that, if the unsync spte was writable, the target page
does not have a write protected shadow (if it had, the spte would have
been write protected under mmu_lock by rmap_write_protect before).

Same reasoning applies to mark_page_dirty: the gfn has been marked as
dirty via the pagefault path.

The cost of hash table and memslot lookups are quite significant if the
workload is pagetable write intensive resulting in increased mmu_lock
contention.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2008-12-31 16:55:02 +02:00
..
i8254.c KVM: x86: Optimize NMI watchdog delivery 2008-12-31 16:51:47 +02:00
i8254.h KVM: Fix guest shared interrupt with in-kernel irqchip 2008-10-28 14:21:34 +02:00
i8259.c KVM: PIC: enhance IPI avoidance 2008-10-15 14:25:28 +02:00
irq.c KVM: Separate irq ack notification out of arch/x86/kvm/irq.c 2008-10-15 14:25:35 +02:00
irq.h KVM: x86: Fix and refactor NMI watchdog emulation 2008-12-31 16:51:46 +02:00
Kconfig KVM: Require the PCI subsystem 2008-11-11 20:56:13 +02:00
kvm_cache_regs.h KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
kvm_svm.h KVM: SVM: move svm.h to include/asm 2008-12-31 16:52:28 +02:00
lapic.c KVM: x86: Optimize NMI watchdog delivery 2008-12-31 16:51:47 +02:00
lapic.h KVM: add statics were possible, function definition in lapic.h 2008-07-20 12:40:46 +03:00
Makefile KVM: Separate irq ack notification out of arch/x86/kvm/irq.c 2008-10-15 14:25:35 +02:00
mmu.c KVM: MMU: optimize set_spte for page sync 2008-12-31 16:55:02 +02:00
mmu.h KVM: MMU: Fix false flooding when a pte points to page table 2008-07-20 12:40:50 +03:00
paging_tmpl.h KVM: MMU: avoid creation of unreachable pages in the shadow 2008-11-26 12:34:27 +02:00
svm.c KVM: SVM: move svm_hardware_disable() code to asm/virtext.h 2008-12-31 16:52:30 +02:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Conditionally request interrupt window after injecting irq 2008-12-31 16:55:00 +02:00
x86.c KVM: Fix cpuid iteration on multiple leaves per eac 2008-12-31 16:52:24 +02:00
x86.h KVM: Add a pending interrupt queue 2008-10-15 10:15:13 +02:00
x86_emulate.c KVM: allow emulator to adjust rip for emulated pio instructions 2008-12-31 16:51:48 +02:00