[Bug 156596] [ehci] Extremely high interrupt rate on ehci/uhci IRQ16 80% cpu utilization on CPU0

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu May 14 16:35:11 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=156596

sos at DeepCore.dk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sos at DeepCore.dk

--- Comment #19 from sos at DeepCore.dk ---
Hi All

Just stumbled over this one, and the quick solution is to just ignore the
interrupt from the (emulated) VGA device, it has nothing todo with USB :)

The real problem is that our VGA driver has no idea how to handle the
interrupts from the intel built in video HW, so when you yank the VGA cable the
chip wants to signal that event so the system can DTRT(tm). In our case there
is no ack on that interrupt => instant interrupt storm.

My hack just disables the VGA interrupt completely, that might be a bad idea if
you have anything using it :) However it lets me use my servers with a KVM
without problems.

Index: vga_pci.c
===================================================================
--- vga_pci.c
+++ vga_pci.c
@@ -125,6 +125,9 @@
     if ((config & (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN)) == 0)
         return (0);

+    /* Disable interrupts */
+    pci_write_config(dev, PCIR_COMMAND, config | (1<<10), 2);
+
     /* This video card is the boot display: record its unit number. */
     vga_pci_default_unit = unit;
     device_set_flags(dev, 1);

--
Søren Schmidt
sos at deepcore.dk / sos at freebsd.org
"So much code to hack, so little time"

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-usb mailing list