linux/arch/ia64/kvm
Marcelo Tosatti 32f8840064 KVM: use smp_send_reschedule in kvm_vcpu_kick
KVM uses a function call IPI to cause the exit of a guest running on a
physical cpu. For virtual interrupt notification there is no need to
wait on IPI receival, or to execute any function.

This is exactly what the reschedule IPI does, without the overhead
of function IPI. So use it instead of smp_call_function_single in
kvm_vcpu_kick.

Also change the "guest_mode" variable to a bit in vcpu->requests, and
use that to collapse multiple IPI's that would be issued between the
first one and zeroing of guest mode.

This allows kvm_vcpu_kick to called with interrupts disabled.

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-06-10 11:48:53 +03:00
..
asm-offsets.c KVM: ia64: Remove some macro definitions in asm-offsets.c. 2008-12-31 16:52:25 +02:00
irq.h KVM: ia64: Fix the build errors due to lack of macros related to MSI. 2009-03-24 11:03:13 +02:00
Kconfig KVM: ia64: make kvm depend on CONFIG_MODULES. 2009-06-10 11:48:38 +03:00
kvm_fw.c KVM: ia64: SN2 adjust emulated ITC frequency to match RTC frequency 2009-06-10 11:48:29 +03:00
kvm_lib.c KVM: ia64: Define printk function for kvm-intel module 2008-12-31 16:54:59 +02:00
kvm_minstate.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
kvm-ia64.c KVM: use smp_send_reschedule in kvm_vcpu_kick 2009-06-10 11:48:53 +03:00
lapic.h KVM: APIC: get rid of deliver_bitmask 2009-06-10 11:48:27 +03:00
Makefile KVM: change KVM to use IOMMU API 2009-01-03 14:11:07 +01:00
memcpy.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
memset.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
misc.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
mmio.c KVM: ia64: Add some debug points to provide crash infomation 2008-12-31 16:54:59 +02:00
optvfault.S KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
process.c KVM: ia64: enable external interrupt in vmm 2009-06-10 11:48:34 +03:00
trampoline.S KVM: ia64: Add trampoline for guest/host mode switch 2008-04-27 12:01:08 +03:00
vcpu.c KVM: ia64: Create inline function kvm_get_itc() to centralize ITC reading. 2009-06-10 11:48:28 +03:00
vcpu.h KVM: ia64: vTLB change for enabling windows 2008 boot 2009-03-24 11:03:06 +02:00
vmm_ivt.S KVM: ia64: enable external interrupt in vmm 2009-06-10 11:48:34 +03:00
vmm.c KVM: ia64: Drop in SN2 replacement of fast path ITC emulation fault handler 2009-06-10 11:48:29 +03:00
vti.h KVM: ia64: Add header files for kvm/ia64 2008-04-27 12:01:03 +03:00
vtlb.c KVM: ia64: enable external interrupt in vmm 2009-06-10 11:48:34 +03:00