Skip to contentSkip to conversation

serial: remove "too much work for irq" printk

PATCH In review Benjamin LaHaise 5 participants 7 messages Jan 12, 2008 – Jan 13, 2008 TTY layer and serial drivers

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 serial: remove "too much work for irq" printk

When using kvm with a serial console, the serial driver will print out "too much work for irq4" on any heavy activity (ie vi on a file repainting the terminal). This message is entirely spurious, as output continues to work fine. Remove the message as it corrupts screen output and is far too easy to trigger.

-ben

drivers/serial/8250.c +1 -5
index f94109c..030b8b5 100644
@@ -1493,12 +1493,8 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id)
 
 		l = l->next;
 
-		if (l == i->head && pass_counter++ > PASS_LIMIT) {
-			/* If we hit this, we're dead. */
-			printk(KERN_ERR "serial8250: too much work for "
-				"irq%d\n", irq);
+		if (l == i->head && pass_counter++ > PASS_LIMIT)
 			break;
-		}
 	} while (l != end);
 
 	spin_unlock(&i->lock);
#1 lore raw
Quoted 5 lines · Benjamin LaHaise

When using kvm with a serial console, the serial driver will print out "too much work for irq4" on any heavy activity (ie vi on a file repainting the terminal). This message is entirely spurious, as output continues to work fine. Remove the message as it corrupts screen output and is far too easy to trigger.

Yeah, this message has been annoying me too. Thanks for sending the patch.

#2 lore raw
In reply to Benjamin LaHaise
Quoted 5 lines · On Sat, 12 Jan 2008 15:15:43 -0500 Benjamin LaHaise <[email protected]> wrote:

When using kvm with a serial console, the serial driver will print out "too much work for irq4" on any heavy activity (ie vi on a file repainting the terminal). This message is entirely spurious, as output continues to work fine. Remove the message as it corrupts screen output and is far too easy to trigger.

NAK. This is a qemu/kvm emulation bug. The real check is there to catched jammed IRQs and combined with the IRQ bug handling nowdays does actually do the intended job.

Our serial port code (correctly) interprets a continuous stream of bytes at an impossible bit rate as an error. KVM should be emulating to some extent at least the timing on serial interfaces or using a virtualised interface.

Alan

#3 lore raw
Quoted 5 lines · Alan Cox
Quoted 1 line · On Sat, 12 Jan 2008 15:15:43 -0500 Benjamin LaHaise <[email protected]> wrote:

When using kvm with a serial console, the serial driver will print out "too much work for irq4" on any heavy activity (ie vi on a file repainting the terminal). This message is entirely spurious, as output continues to work fine. Remove the message as it corrupts screen output and is far too easy to trigger.

Quoted 9 lines

NAK. This is a qemu/kvm emulation bug. The real check is there to catched jammed IRQs and combined with the IRQ bug handling nowdays does actually do the intended job.

Our serial port code (correctly) interprets a continuous stream of bytes at an impossible bit rate as an error. KVM should be emulating to some extent at least the timing on serial interfaces or using a virtualised interface.

This is going to put trouble in other places unless, at least, it can be turned off. The UART serial interface is heavily emulated as a console interface without an actual serial port behind it, both in hardware and software. Rates will typically vastly exceed real serial port rates, especially emulating 16450 or 16550 (which is typical) which are limited to 115200 bps.

-hpa

#4 lore raw
Quoted 4 lines

This is going to put trouble in other places unless, at least, it can be turned off. The UART serial interface is heavily emulated as a console interface without an actual serial port behind it, both in hardware and software. Rates will typically vastly exceed real serial port rates,

Yes Dell do it, HP do it, IBM do it. Have done for years, never caused us a problem. Its only KVM tripping it.

As to bit rate we support up to about 1 to 1.5 Mbit.

Alan

#5 lore raw
Quoted 7 lines · Alan Cox
Quoted 1 line

This is going to put trouble in other places unless, at least, it can be turned off. The UART serial interface is heavily emulated as a console interface without an actual serial port behind it, both in hardware and software. Rates will typically vastly exceed real serial port rates,

Yes Dell do it, HP do it, IBM do it. Have done for years, never caused us a problem. Its only KVM tripping it.

As to bit rate we support up to about 1 to 1.5 Mbit.

FWIW, the highest rate I've seen in hardware is a FIFO about 4K deep that can be polled at about 25 MHz when all the overhead is accounted for.

-hpa

#6 lore raw
In reply to Alan Cox
Quoted 9 lines · Alan Cox
Quoted 5 lines · On Sat, 12 Jan 2008 15:15:43 -0500 Benjamin LaHaise <[email protected]> wrote:

When using kvm with a serial console, the serial driver will print out "too much work for irq4" on any heavy activity (ie vi on a file repainting the terminal). This message is entirely spurious, as output continues to work fine. Remove the message as it corrupts screen output and is far too easy to trigger.

Quoted 8 lines

NAK. This is a qemu/kvm emulation bug. The real check is there to catched jammed IRQs and combined with the IRQ bug handling nowdays does actually do the intended job.

Our serial port code (correctly) interprets a continuous stream of bytes at an impossible bit rate as an error. KVM should be emulating to some extent at least the timing on serial interfaces or using a virtualised interface.

How can you tell apart impossible bit rate from really slow CPU, or maybe just an SMI storm, or heavy busmaster DMA?

Pavel

Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html