Bug 986761
| Summary: | guest kernel will print many "serial8250: too much work for irq3" when using kvm with isa-serial | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Sibiao Luo <sluo> |
| Component: | kernel | Assignee: | Seth Jennings <sjenning> |
| kernel sub component: | KVM | QA Contact: | Virtualization Bugs <virt-bugs> |
| Status: | CLOSED ERRATA | Docs Contact: | |
| Severity: | medium | ||
| Priority: | medium | CC: | amit.shah, chayang, juzhang, knoel, lisa.mitchell, lizhenhua, mchehab, mdeng, michen, mkenneth, mschuppe, qzhang, rbalakri, rpacheco, salmy, sjenning, tkubota, virt-maint, xfu, yanwang |
| Version: | 6.5 | ||
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | kernel-2.6.32-514.el6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-07-22 07:59:57 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1124856, 1132123, 1159933, 1209644 | ||
|
Description
Sibiao Luo
2013-07-22 03:26:46 UTC
Hmm, fails to reproduce. Can you retest with latest rhel6.5 please? (In reply to Gerd Hoffmann from comment #4) > Hmm, fails to reproduce. Can you retest with latest rhel6.5 please? Not meet 'serial8250: too much work for irq4' any more now in guest dmesg, but just the first isa-serial work well, other isa-serial fail to login. [root@amd-6168-256-1 ~]# nc -U /tmp/isa-serial-1 Red Hat Enterprise Linux Server release 6.5 (Santiago) Kernel 2.6.32-452.el6.x86_64 on an x86_64 vm-83-227.englab.nay.redhat.com login: ^C [root@vm-83-227 ~]# ^C [root@amd-6168-256-1 ~]# nc -U /tmp/isa-serial-2 ^C [root@amd-6168-256-1 ~]# nc -U /tmp/isa-serial-3 ^C [root@amd-6168-256-1 ~]# nc -U /tmp/isa-serial-4 ^C host info: # uname -r && rpm -q qemu-kvm 2.6.32-488.el6.x86_64 qemu-kvm-0.12.1.2-2.428.el6.x86_64 Best Regards, sluo (In reply to Sibiao Luo from comment #5) > (In reply to Gerd Hoffmann from comment #4) > > Hmm, fails to reproduce. Can you retest with latest rhel6.5 please? > > Not meet 'serial8250: too much work for irq4' any more now in guest dmesg, Good. > but just the first isa-serial work well, other isa-serial fail to login. Most likely a guest setup issue, no getty running. Note that inittab update as described in the initial comment doesn't work on rhel6 as it uses upstart not sysvinit. On the console rhel6 will start a getty automatically, thats why ttyS0 works nevertheless. Seems to be addressed by upstream commit included in 3.0:
commit e7328ae1848966181a7ac47e8ae6cddbd2cf55f3
Author: Jiri Slaby <jirislaby>
Commit: Greg Kroah-Hartman <gregkh>
serial: 8250, increase PASS_LIMIT
With virtual machines like qemu, it's pretty common to see "too much
work for irq4" messages nowadays. This happens when a bunch of output
is printed on the emulated serial console. This is caused by too low
PASS_LIMIT. When ISR loops more than the limit, it spits the message.
I've been using a kernel with doubled the limit and I couldn't see no
problems. Maybe it's time to get rid of the message now?
Signed-off-by: Jiri Slaby <jirislaby>
Cc: Alan Cox <alan.com>
Signed-off-by: Greg Kroah-Hartman <gregkh>
diff --git a/drivers/tty/serial/8250.c b/drivers/tty/serial/8250.c
index b40f7b9..f11df87 100644
--- a/drivers/tty/serial/8250.c
+++ b/drivers/tty/serial/8250.c
@@ -81,7 +81,7 @@ static unsigned int skip_txen_test; /* force skip of txen test at init time */
#define DEBUG_INTR(fmt...) do { } while (0)
#endif
-#define PASS_LIMIT 256
+#define PASS_LIMIT 512
#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
Patch(es) available on kernel-2.6.32-514.el6 Reproduced with kernel-2.6.32-504.el6.x86_64. Steps: 1. start a rhel6.6 guest with 'console=tty0 console=ttyS0,115200' appended in kernel line 2. run: dd if=/dev/urandom of=/dev/console Actual Result: Lots of below message in guest dmesg: ... serial8250: too much work for irq4 ... Verified pass with 2.6.32-530.el6.x86_64. No such message in guest dmesg while dd to /dev/console. So this issue has been fixed. CLI: /usr/libexec/qemu-kvm -name rhel6.6 -S -M rhel6.6.0 -cpu SandyBridge,+invtsc,+erms,+smep,+fsgsbase,+rdrand,+f16c,+osxsave,+pcid,+pdcm,+xtpr,+tm2,+est,+smx,+vmx,+ds_cpl,+monitor,+dtes64,+pbe,+tm,+ht,+ss,+acpi,+ds,+vme -enable-kvm -m 2048 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -monitor stdio -boot menu=on -rtc base=utc -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x5.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x5 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x5.0x1 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/home/rhel6.6.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x7,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,id=hostnet0,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:3c:b3:07,bus=pci.0 -device usb-tablet,id=input0 -spice port=5900,disable-ticketing,seamless-migration=on -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864 -msg timestamp=on -chardev socket,path=/tmp/seril,server,nowait,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 *** Bug 1133314 has been marked as a duplicate of this bug. *** Pasting in comment from NEC, as they verified the fix:
Hello Lisa,
> BZ 986761, tied to QXCR1001367026: NEC:"serial8250: too much work for irq4"
> msg is shown on VM console
> Is fixed in RHEL 6.7 all releases since the Alpha, from the version
> of kernel posted with the patch.
> Can NEC verify that it is fixed on your systems, since you found the defect?
The fix just increases PASS_LIMIT, I think it's not real fix.
So, we can reproduce this problem if we write a lot of message into console.
However, this fix which comes from upstream is acceptable for NEC.
Please close QXCR1001367026.
Test1.
dd if=/dev/zero of=/dev/console
No problem
Test2.
dd if=/dev/zero of=/dev/console bs=1 &
dd if=/dev/zero of=/dev/console bs=1 &
:
If several applications wrote message into the console at the same time,
The problem can reproduce, of course. The limit is not enough in this case.
This problem affects only Application which can open /dev/console.
All kernel messages are not affected.
Thanks,
Taichi
I am marking this as verified from HP standpoint.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-1272.html |