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

Re: [Minios-devel] [UNIKRAFT PATCH] plat/kvm: don't crash on unhandled IRQ



Hey,

I agree with this new behavior. It makes Unikraft a bit more resistant as long as we do not support all default-enabled platform interrupts (e.g., keyboard controller).

Could you provide a patch that introduces this behavior also to Xen?
I think, the file should be plat/common/x86/traps.c.

Cheers,

Simon

Reviewed-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>

On 16.08.2018 09:07, Florian Schmidt wrote:
Crashing on unhandled interrupts is not very helpful, because things as
simple as hitting a key on the VGA console leads to a crash (because
there is no keyboard driver yet).

Generally speaking, crashing on an unhandled IRQ is unnecessarily harsh.
If we just ignore it, the worst thing that can happen is that the
hardware that raised the interrupt feels ignored and floods us with
additional interrupts, which could lead to the system stalling; but that
is not any worse than an immediate crash, and in most cases, just
showing an error message and continuing will be completely fine.

Also removed a comment that seems somewhat misleading about what the
function actually does.

Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>
---
  plat/kvm/irq.c | 6 +-----
  1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/plat/kvm/irq.c b/plat/kvm/irq.c
index f482942..bad45e2 100644
--- a/plat/kvm/irq.c
+++ b/plat/kvm/irq.c
@@ -36,7 +36,6 @@
  #include <errno.h>
  #include <uk/arch/atomic.h>
-
  static struct uk_alloc *allocator;
struct irq_handler {
@@ -105,11 +104,8 @@ void _ukplat_irq_handle(unsigned long irq)
        }
if (!handled)
-               UK_CRASH("Unhandled irq=%lu\n", irq);
+               uk_printd(DLVL_CRIT, "Unhandled irq=%lu\n", irq);
        else
-               /* Only ACK the IRQ if handled; we only need to know
-                * about an unhandled IRQ the first time round.
-                */
                intctrl_ack_irq(irq);
  }

_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.