[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [5024] APIC: Do not start zero-period timers (Jan Kiszka)
From: |
Anthony Liguori |
Subject: |
[Qemu-devel] [5024] APIC: Do not start zero-period timers (Jan Kiszka) |
Date: |
Mon, 18 Aug 2008 14:19:43 +0000 |
Revision: 5024
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=5024
Author: aliguori
Date: 2008-08-18 14:19:42 +0000 (Mon, 18 Aug 2008)
Log Message:
-----------
APIC: Do not start zero-period timers (Jan Kiszka)
The APIC timer must not start when the initial count is (still) zero.
This caused occasional stalls when booting secondary CPUs of Linux SMP
guests.
Signed-off-by: Jan Kiszka <address@hidden>
Signed-off-by: Anthony Liguori <address@hidden>
Modified Paths:
--------------
trunk/hw/apic.c
Modified: trunk/hw/apic.c
===================================================================
--- trunk/hw/apic.c 2008-08-18 14:00:20 UTC (rev 5023)
+++ trunk/hw/apic.c 2008-08-18 14:19:42 UTC (rev 5024)
@@ -566,6 +566,8 @@
d = (current_time - s->initial_count_load_time) >>
s->count_shift;
if (s->lvt[APIC_LVT_TIMER] & APIC_LVT_TIMER_PERIODIC) {
+ if (!s->initial_count)
+ goto no_timer;
d = ((d / ((uint64_t)s->initial_count + 1)) + 1) *
((uint64_t)s->initial_count + 1);
} else {
if (d >= s->initial_count)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [5024] APIC: Do not start zero-period timers (Jan Kiszka),
Anthony Liguori <=