Hi guys,
In my kvm machine, I use serial as its default stdio.
But when display a number of characters, e.g. cat a big ascii file,
the serial always hangs as encount overwhelming interrupts, and then output a
kernel log "serial8250: too much work for irq 42".
I found that the serial in qemu is primitive so that it generate a interrupt on
every single character.
This make it easier to reach the threshold of reporting "too much work".
I had to use the patch below to get this issue walked arroud.
Have you guys ever met the serial hanging problem before?
---
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index be95e55..af3e569 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -70,7 +70,7 @@ static unsigned int nr_uarts =
CONFIG_SERIAL_8250_RUNTIME_UARTS;
#define DEBUG_INTR(fmt...) do { } while (0)
#endif
-#define PASS_LIMIT 256
+#define PASS_LIMIT 65535
/*
* We default to IRQ0 for the "no irq" hack. Some
Best Regards.
Yu