Date: Thu, 14 May 2015 16:35:11 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-usb@FreeBSD.org Subject: [Bug 156596] [ehci] Extremely high interrupt rate on ehci/uhci IRQ16 80% cpu utilization on CPU0 Message-ID: <bug-156596-17-dLgl2AZnlL@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-156596-17@https.bugs.freebsd.org/bugzilla/> References: <bug-156596-17@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=156596 sos@DeepCore.dk changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sos@DeepCore.dk --- Comment #19 from sos@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@deepcore.dk / sos@freebsd.org "So much code to hack, so little time" -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-156596-17-dLgl2AZnlL>
