(idle) USB generates interrupts as fast as they can be serviced

From: Ian FREISLICH <if_at_hetzner.co.za>
Date: Tue, 14 Feb 2006 11:53:50 +0200
Hi

last pid:  1472;  load averages:  2.99,  2.97,  2.96    up 0+03:31:54  11:36:23
55 processes:  3 running, 52 sleeping
CPU states:  0.4% user, 50.8% nice,  0.6% system, 48.2% interrupt,  0.0% idle
Mem: 90M Active, 315M Inact, 67M Wired, 19M Cache, 60M Buf, 7920K Free
Swap: 1024M Total, 1024M Free

systat claims ~46251 interrupts a second on uhc.

uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xe000-0xe01f irq 10 at device 7.2 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered

ohci0: <OPTi 82C861 (FireLink) USB controller> mem 0xe8000000-0xe8000fff irq 18 at device 10.0 on pci0
ohci0: [GIANT-LOCKED]
usb1: OHCI version 1.0, legacy support
usb1: <OPTi 82C861 (FireLink) USB controller> on ohci0
usb1: USB revision 1.0
uhub1: OPTi OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered

I'm pretty sure that it's the uhci0 device.  The ohci wass added
yesterday, but I have no way to disable the onboard controler without
messing up the interrupts for the FireLink card.  And it behaved
this way before I added the new card.

This is a really old motherboard (gigabyte 686DLX - Dual PII) and
ACPI doesn't work here because it's blacklisted.  I must say that
this is better than it was a year ago when USB just plain didn't
work.  Devices now work here it's just that the USB driver uses
100% of one of the CPUs when it's loaded.

/boot/kernel/usb.ko:
     $FreeBSD: src/sys/dev/usb/hid.c,v 1.25 2005/02/06 12:41:00 obrien Exp $
     $FreeBSD: src/sys/dev/usb/uhub.c,v 1.70 2005/08/23 21:32:49 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/usb.c,v 1.107 2005/07/14 14:19:05 takawata Exp $
     $FreeBSD: src/sys/dev/usb/usb_mem.c,v 1.8 2006/01/10 22:55:35 scottl Exp $
     $FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.47 2006/01/08 03:34:29 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/usb_subr.c,v 1.79 2006/01/08 03:27:43 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.92 2005/12/08 03:08:17 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/usbdi_util.c,v 1.34 2005/03/01 08:01:22 sobomax Exp $
     $FreeBSD: src/sys/dev/usb/usb_ethersubr.c,v 1.20 2005/03/25 12:42:30 sobomax Exp $
     $FreeBSD: src/sys/dev/usb/uhci_pci.c,v 1.57 2005/03/01 07:50:11 imp Exp $
     $FreeBSD: src/sys/dev/usb/uhci.c,v 1.163 2006/01/15 20:41:04 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/ohci_pci.c,v 1.45 2006/01/16 19:07:05 ariff Exp $
     $FreeBSD: src/sys/dev/usb/ohci.c,v 1.156 2006/01/15 20:41:04 iedowse Exp $
     $FreeBSD: src/sys/dev/usb/ehci_pci.c,v 1.21 2006/01/16 19:23:59 ariff Exp $
     $FreeBSD: src/sys/dev/usb/ehci.c,v 1.40 2006/01/16 19:23:59 ariff Exp $

Let me know if there's any other debugging I should do.

Ian

--
Ian Freislich
Received on Tue Feb 14 2006 - 08:53:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:52 UTC