[PATCH 2/2] qemu-kvm: pc: Do not start APIC timer spuriously

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



apic_timer_update not only calculates the next timer expiry that we need
to write out the vmstate, it may also start the timer of the user space
APIC model. That can cause spurious signals to the corresponding vCPU
thread when the timer expires. Fix this by using the new apic_next_timer
that does not start the timer.

Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
---

Found while hunting user space exits of our never-exits-to-user-space
real-time guest.

 hw/apic.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/apic.c b/hw/apic.c
index b3044aa..e43219f 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -950,7 +950,7 @@ static void kvm_kernel_lapic_save_to_user(APICState *s)
     s->count_shift = (v + 1) & 7;
 
     s->initial_count_load_time = qemu_get_clock_ns(vm_clock);
-    apic_timer_update(s, s->initial_count_load_time);
+    apic_next_timer(s, s->initial_count_load_time);
 }
 
 static void kvm_kernel_lapic_load_from_user(APICState *s)
-- 
1.7.3.4
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux