Red Hat Bugzilla – Bug 498033
"serial8250: too much work for irq4" on HVM Guests
Last modified: 2009-12-14 16:28:00 EST
Created attachment 341589 [details]
dmesg with "too much work" messages
Description of problem:
Lots of messages pop-up in HVM guest.
serial8250: too much work for irq4
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. reserve gs-bl460cg1-01.rhts.bos.redhat.com from RHTS.
2. install RHEL5.2.z Dom0 kernel - 2.6.18-92.1.22.el5
3. install RHEL4.7.z HVM guest.
4. xm create -c rhel4.xml
# cat rhel4.xml
name = "rhel4u7_x86_64_hvm"
uuid = "c4b83c37-0369-9c68-9ba1-9cd9d47a30e5"
maxmem = 512
memory = 512
vcpus = 2
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "c"
pae = 1
acpi = 1
apic = 1
localtime = 0
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
device_model = "/usr/lib64/xen/bin/qemu-dm"
sdl = 0
vnc = 1
vncunused = 1
disk = [ "file:/var/lib/xen/images/rhel4u7_x86_64_hvm.img,hda,w", ",hdc:cdrom,r" ]
vif = [ "type=ioemu" ]
serial = "pty"
After login via xm serial console, lots of the above message pop-up.
No such message.
Yes, this is a long-standing issue that affects both RHEL-4 and RHEL-5 guests, and probably upstream guests as well (although I haven't tested that specifically). The problem basically comes down to bugs in the qemu emulation for the serial device, but it is *very* complicated to fix, and because it is something that isn't used all that much, it's not something we've put any priority into.
QEMU's UART emulation does not emulate proper timing at all. Continuous serial I/O can easily overwhelm the guest. Linux detects this, and takes proper action to protect itself.
Emulating proper timing looks hard and expensive. A less ambitious fix that could be good enough is sketched here: http://lkml.org/lkml/2008/2/7/485
Just for future reference, this patch has also been trotted around:
Oops, this and 501026 are actually dupes. I'm going to close this one as a dup of that, since that other one has had more recent activity.
*** This bug has been marked as a duplicate of bug 501026 ***