linux/arch/x86/kvm
Dave Hansen f0d662759a KVM: Reduce kvm stack usage in kvm_arch_vm_ioctl()
On my machine with gcc 3.4, kvm uses ~2k of stack in a few
select functions.  This is mostly because gcc fails to
notice that the different case: statements could have their
stack usage combined.  It overflows very nicely if interrupts
happen during one of these large uses.

This patch uses two methods for reducing stack usage.
1. dynamically allocate large objects instead of putting
   on the stack.
2. Use a union{} member for all of the case variables. This
   tricks gcc into combining them all into a single stack
   allocation. (There's also a comment on this)

Signed-off-by: Dave Hansen <dave@linux.vnet.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-10-15 10:15:18 +02:00
..
i8254.c KVM: PIT: fix injection logic and count 2008-10-15 10:15:17 +02:00
i8254.h KVM: PIT: fix injection logic and count 2008-10-15 10:15:17 +02:00
i8259.c KVM: irq ack notification 2008-10-15 10:15:16 +02:00
irq.c KVM: PIT: fix injection logic and count 2008-10-15 10:15:17 +02:00
irq.h KVM: irq ack notification 2008-10-15 10:15:16 +02:00
Kconfig mmu-notifiers: core 2008-07-28 16:30:21 -07:00
kvm_cache_regs.h KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
kvm_svm.h KVM: SVM: allocate the MSR permission map per VCPU 2008-04-27 11:53:21 +03:00
lapic.c KVM: irq ack notification 2008-10-15 10:15:16 +02:00
lapic.h KVM: add statics were possible, function definition in lapic.h 2008-07-20 12:40:46 +03:00
Makefile KVM: Add coalesced MMIO support (x86 part) 2008-07-20 12:42:31 +03:00
mmu.c KVM: MMU: Simplify kvm_mmu_zap_page() 2008-10-15 10:15:12 +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: Fix torn shadow pte 2008-08-25 17:24:27 +03:00
svm.c KVM: SVM: Unify register save/restore across 32 and 64 bit hosts 2008-10-15 10:15:14 +02:00
svm.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: VMX: Avoid vmwrite(HOST_RSP) when possible 2008-10-15 10:15:15 +02:00
vmx.h KVM: VMX: Rename misnamed msr bits 2008-10-15 10:13:57 +02:00
x86_emulate.c KVM: x86: accessors for guest registers 2008-10-15 10:13:57 +02:00
x86.c KVM: Reduce kvm stack usage in kvm_arch_vm_ioctl() 2008-10-15 10:15:18 +02:00
x86.h KVM: Add a pending interrupt queue 2008-10-15 10:15:13 +02:00