[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] kvm: ioapic: conditionally delay irq delivery d
From: |
Gonglei (Arei) |
Subject: |
Re: [Qemu-devel] [PATCH] kvm: ioapic: conditionally delay irq delivery duringeoi broadcast |
Date: |
Thu, 11 Sep 2014 09:29:55 +0000 |
> Subject: [Qemu-devel] [PATCH] kvm: ioapic: conditionally delay irq delivery
> duringeoi broadcast
>
> Currently, we call ioapic_service() immediately when we find the irq is still
> active during eoi broadcast. But for real hardware, there's some dealy between
> the EOI writing and irq delivery (system bus latency?). So we need to emulate
> this behavior. Otherwise, for a guest who haven't register a proper irq
> handler
> , it would stay in the interrupt routine as this irq would be re-injected
> immediately after guest enables interrupt. This would lead guest can't move
> forward and may miss the possibility to get proper irq handler registered (one
> example is windows guest resuming from hibernation).
>
> As there's no way to differ the unhandled irq from new raised ones, this patch
> solve this problems by scheduling a delayed work when the count of irq
> injected
> during eoi broadcast exceeds a threshold value. After this patch, the guest
> can
> move a little forward when there's no suitable irq handler in case it may
> register one very soon and for guest who has a bad irq detection routine (
> such
> as note_interrupt() in linux ), this bad irq would be recognized soon as in
> the
> past.
>
> Cc: Michael S. Tsirkin <address@hidden>
> Signed-off-by: Jason Wang <address@hidden>
> Signed-off-by: Zhang Haoyu <address@hidden>
> ---
> include/trace/events/kvm.h | 20 +++++++++++++++++++
> virt/kvm/ioapic.c | 50
> ++++++++++++++++++++++++++++++++++++++++++++--
> virt/kvm/ioapic.h | 6 ++++++
> 3 files changed, 74 insertions(+), 2 deletions(-)
>
If this is a new version, please add a v2/v3 suffix and describe the changes at
those different versions .
You can get more information from:
http://wiki.qemu.org/Contribute/SubmitAPatch
Best regards,
-Gonglei