Hello,

ich have (realtime) problems in a QEMU client, spending too  much time with the 
serial IRQ (INT 4) while sending massive data over the serial interface (sttyS0)
I've found out that IRQ loops as long as there is send data available (LSR_THRE 
always 1, IIR_THRI always 1), which can lead to up to 1s IRQ time in my case.
QEMU always drains the TX FIFO at once and will only set the UART register bits 
afterwards.

My Linux console is using serial interface(because we use the same image on 
real hardware as also for the qemu client).

In very old QEMU code I found the method to throttle the TX int 
(THROTTLE_TX_INTERVAL) to probably avoid this behavior.
https://code.grnet.gr/projects/qemu/repository/revisions/6936bfe514bbac7af4b24fad9ed9688b78b5be69/entry/hw/serial.c

Is there a way to do something similar in actual QEMU code (setting TX delay 
timer)?
Or should I just try to switch to virtio_console?

Thank you
Robert

Reply via email to