kernel-hacking-2024-linux-s.../arch/ia64/kernel
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
..
cpufreq
.gitignore
acpi-ext.c
acpi-processor.c
acpi.c Pull cpumask into release branch 2009-03-31 14:24:52 -07:00
asm-offsets.c ia64/pv_ops/xen: paravirtualize read/write ar.itc and ar.itm 2009-03-26 10:50:32 -07:00
audit.c
brl_emu.c
crash.c
crash_dump.c
cyclone.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
dma-mapping.c IA64: fix compile error on IA64_DIG_VTD 2009-01-27 15:45:21 +01:00
efi.c ia64/pv_ops/binary patch: define paravirt_dv_serialize_data() and suppress false positive warning. 2009-03-26 11:02:59 -07:00
efi_stub.S
entry.h
entry.S [IA64] wire up preadv/pwritev system calls 2009-04-08 13:46:14 -07:00
err_inject.c
esi.c
esi_stub.S
fsys.S ia64/pv_ops: paravirtualize mov = ar.itc. 2009-03-26 10:50:22 -07:00
fsyscall_gtod_data.h
ftrace.c ftrace, ia64: IA64 dynamic ftrace support 2009-01-14 12:11:31 +01:00
gate-data.S
gate.lds.S ia64/pv_ops: gate page paravirtualization. 2009-03-26 10:51:02 -07:00
gate.S ia64/pv_ops: paravirtualize gate.S. 2009-03-26 11:01:46 -07:00
head.S ia64/pv_ops/pv_time_ops: add sched_clock hook. 2009-03-26 10:50:42 -07:00
ia64_ksyms.c ftrace, ia64: IA64 static ftrace support 2009-01-14 12:11:26 +01:00
init_task.c
iosapic.c Merge branch 'x86/urgent' into x86/pat 2009-03-01 12:47:58 +01:00
irq.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
irq_ia64.c KVM: use smp_send_reschedule in kvm_vcpu_kick 2009-06-10 11:48:53 +03:00
irq_lsapic.c
ivt.S ia64/pv_ops: paravirtualize mov = ar.itc. 2009-03-26 10:50:22 -07:00
jprobes.S
kprobes.c kprobes: check CONFIG_FREEZER instead of CONFIG_PM 2009-01-16 14:32:17 -05:00
machine_kexec.c
machvec.c x86, ia64: convert to use generic dma_map_ops struct 2009-01-06 14:06:57 +01:00
Makefile Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
Makefile.gate ia64/pv_ops: gate page paravirtualization. 2009-03-26 10:51:02 -07:00
mca.c cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: ia64 2009-03-16 14:12:42 +10:30
mca_asm.S
mca_drv.c
mca_drv.h
mca_drv_asm.S
minstate.h
module.c [IA64] BUG to BUG_ON changes 2009-04-01 09:50:48 -07:00
msi_ia64.c Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
nr-irqs.c
numa.c
pal.S
palinfo.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
paravirt.c ia64: remove some warnings. 2009-03-27 11:11:04 -07:00
paravirt_inst.h
paravirt_patch.c ia64/pv_op/binarypatch: add helper functions to support binary patching for paravirt_ops. 2009-03-26 11:02:31 -07:00
paravirt_patchlist.c ia64/pv_ops: gate page paravirtualization. 2009-03-26 10:51:02 -07:00
paravirt_patchlist.h ia64/pv_ops: gate page paravirtualization. 2009-03-26 10:51:02 -07:00
paravirtentry.S ia64/pv_ops: implement binary patching optimization for native. 2009-03-26 11:02:42 -07:00
patch.c ia64: remove some warnings. 2009-03-27 11:11:04 -07:00
pci-dma.c dma-mapping: replace all DMA_24BIT_MASK macro with DMA_BIT_MASK(24) 2009-04-07 08:31:12 -07:00
pci-swiotlb.c Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
perfmon.c Pull cpumask into release branch 2009-03-31 14:24:52 -07:00
perfmon_default_smpl.c
perfmon_generic.h
perfmon_itanium.h
perfmon_mckinley.h
perfmon_montecito.h
process.c Simplify copy_thread() 2009-04-02 19:04:51 -07:00
ptrace.c
relocate_kernel.S
sal.c
salinfo.c cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: ia64 2009-03-16 14:12:42 +10:30
setup.c [IA64] BUG to BUG_ON changes 2009-04-01 09:50:48 -07:00
sigframe.h
signal.c
smp.c [IA64] smp_flush_tlb_mm() should only send IPI's to cpus in cpu_vm_mask 2009-04-16 11:51:35 -07:00
smpboot.c cpumask: Use accessors code.: ia64 2009-03-16 14:12:43 +10:30
sys_ia64.c [CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2 2009-01-14 14:15:15 +01:00
time.c clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
topology.c
traps.c
unaligned.c [IA64] dump stack on kernel unaligned warnings 2009-01-15 10:38:56 -08:00
uncached.c
unwind.c [IA64] Do not go beyond ARRAY_SIZE of unw.hash 2009-02-25 11:48:04 -08:00
unwind_decoder.c
unwind_i.h
vmlinux.lds.S Pull pvops into release branch 2009-03-31 14:25:08 -07:00