1
linux/arch
Marcelo Tosatti 3d80840d96 KVM: hlt emulation should take in-kernel APIC/PIT timers into account
Timers that fire between guest hlt and vcpu_block's add_wait_queue() are
ignored, possibly resulting in hangs.

Also make sure that atomic_inc and waitqueue_active tests happen in the
specified order, otherwise the following race is open:

CPU0                                        CPU1
                                            if (waitqueue_active(wq))
add_wait_queue()
if (!atomic_read(pit_timer->pending))
    schedule()
                                            atomic_inc(pit_timer->pending)

Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-04-27 12:04:11 +03:00
..
alpha alpha: unbreak OSF/1 (a.out) binaries 2008-04-24 08:35:47 -07:00
arm Merge branch 'irq-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2008-04-24 08:42:21 -07:00
avr32 avr32: Add hardware power-down function call 2008-04-19 20:40:11 -04:00
blackfin [Blackfin] arch: add include/boot .gitignore files 2008-04-25 08:29:11 +08:00
cris
frv frv: unexport kmap_atomic_to_page 2008-04-21 16:03:13 -07:00
h8300
ia64 KVM: hlt emulation should take in-kernel APIC/PIT timers into account 2008-04-27 12:04:11 +03:00
m32r
m68k arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
m68knommu
mips arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
mn10300 PCI: remove initial bios sort of PCI devices on x86 2008-04-20 21:46:58 -07:00
parisc Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
powerpc [POWERPC] Add zImage.iseries to arch/powerpc/boot/.gitignore 2008-04-25 09:48:13 +10:00
ppc [POWERPC] Add strncmp to arch/ppc 2008-04-24 20:57:34 +10:00
s390 KVM: hlt emulation should take in-kernel APIC/PIT timers into account 2008-04-27 12:04:11 +03:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6 2008-04-21 15:58:35 -07:00
sparc sparc: cleanup after SunOS binary emulation removal 2008-04-23 23:32:18 -07:00
sparc64 [SPARC64]: Wrap SMP IPIs with irq_enter()/irq_exit(). 2008-04-25 03:11:37 -07:00
um x86, bitops: select the generic bitmap search functions 2008-04-26 19:21:17 +02:00
v850 arch: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:14:49 -04:00
x86 KVM: hlt emulation should take in-kernel APIC/PIT timers into account 2008-04-27 12:04:11 +03:00
xtensa
.gitignore
Kconfig