Date: Thu, 20 Jun 2002 00:17:34 -0400 From: Anthony Jenkins <abjenkins@attbi.com> To: FreeBSD-current <current@freebsd.org> Subject: High interrupt usage in system (ohci and/or pcm?) Message-ID: <3D11575E.3070703@attbi.com>
next in thread | raw e-mail | index | archive | help
Hi, Ever since cvsup'ing/building a new kernel a couple weeks ago I've had ridiculously high interrupt state percentages shown in top(1), from 70%-98%. My system (1 Athlon MP 1800+, Tyan 2466 dual board, 512MB, SMP kernel) is running at about 20% of its previous responsiveness. Running single-user mode offers no change to the high interrupt state measure. I cvsup'd yesterday and installed world+kernel, but no luck. I'll post my kernel config below, with most comment/blank lines removed for space, as well as my dmesg output. Okay, looking at 'ps axlww' shows the ochi1 and pcm drivers with '263' in the CPU column... setiathome is a measly 119: 0 26 0 263 -64 0 0 3 - RL ?? 157:51.30 (irq10: ohci1 pcm0) I load pcm through the loader(8) mechanism using a pcm_load="YES" line in /boot/loader.conf, but it had always been sane before; ohci is in kernel config. My USB devices are a MS Intellimouse and an IBM webcam (this is a dual-boot box now). Any other tools I can use to determine where my cycles are going? Okay, I killed X and unloaded the pcm driver and usage is around 64-67% in interrupt state, and a bit more responsive, but the ohci listing in ps(1) still seems to be the culprit: 0 26 0 242 -64 0 0 3 Giant ML ?? 164:54.23 (irq10: ohci1) It seems that 8 out of 9 times I get "Giant ML" in the listing... probably related to the several warnings I get on console? Here's some output from dmesg(8): /usr/src/sys/vm/uma_core.c:1330: could sleep with "pcm0:play:0" locked from /usr/src/sys/dev/sound/pcm/sound.c:191 /usr/src/sys/vm/uma_core.c:1330: could sleep with "pcm0:record:0" locked from /usr/src/sys/dev/sound/pcm/sound.c:191 /usr/src/sys/vm/uma_core.c:1330: could sleep with "pcm0:play:0" locked from /usr/src/sys/dev/sound/pcm/sound.c:191 /usr/src/sys/vm/uma_core.c:1330: could sleep with "pcm0:record:0" locked from /usr/src/sys/dev/sound/pcm/sound.c:191 ... lock order reversal 1st 0xdf5fab34 process lock (process lock) @ /usr/src/sys/kern/kern_exec.c:319 2nd 0xc0318d80 filelist lock (filelist lock) @ /usr/src/sys/kern/kern_descrip.c:1112 /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_exec.c:319 /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_exec.c:319 ... /usr/src/sys/vm/uma_core.c:1330: could sleep with "xl0" locked from /usr/src/sys/pci/if_xl.c:415 pcm0: unregister: channel pcm0:play:0 busy (pid 13129) IP firewall unloaded IP packet filtering initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled pid 13008 (cupsd), uid 0: exited on signal 10 (core dumped) /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_prot.c:511 /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_prot.c:511 pcm0: warning: memblock list not empty pcm0: detached emujoy0: detached /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_prot.c:511 /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_prot.c:511 [/usr/home/ajenkins]{41}: /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_exec.c:319 /usr/src/sys/vm/uma_core.c:1330:: Too many arguments. /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_exec.c:319 [/usr/home/ajenkins]{42}: /usr/src/sys/vm/uma_core.c:1330: could sleep with "process lock" locked from /usr/src/sys/kern/kern_exec.c:319 /usr/src/sys/vm/uma_core.c:1330:: Too many arguments. Kernel config: machine i386 #cpu I386_CPU cpu I486_CPU cpu I586_CPU cpu I686_CPU ident "MYKERNEL-5.0" options CPU_ATHLON_SSE_HACK maxusers 0 #hints "GENERIC.hints" #Default places to look for devices. makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options INET #InterNETworking #options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem options SOFTUPDATES #Enable FFS soft updates support options UFS_DIRHASH #Improve performance on big directories options MD_ROOT #MD is a potential root device options NFSCLIENT #Network Filesystem Client options NFSSERVER #Network Filesystem Server options NFS_ROOT #NFS usable as root device, requires NFSCLIENT options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 #Delay (in ms) before probing SCSI options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options KBD_INSTALL_CDEV # install a CDEV entry in /dev options DDB #Enable the kernel debugger #options INVARIANTS #Enable calls of extra sanity checking #options INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS options WITNESS #Enable checks to detects deadlocks and cycles options WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed options COMPAT_LINUX options LINPROCFS options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O device isa device eisa device pci #options PCI_ENABLE_IO_MODES # Enable pci resources left off by a "lazy BIOS" device fdc device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives #device atapifd # ATAPI floppy drives #device atapist # ATAPI tape drives options ATA_STATIC_ID #Static device numbering device isp # Qlogic family device scbus # SCSI bus (required) device ch # SCSI media changers device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) device ses # SCSI Environmental Services (and SAF-TE) device atkbdc 1 # At keyboard controller device atkbd # at keyboard device psm # psm mouse device vga # VGA screen device agp device splash device sc 1 #device vt options XSERVER # support for X server on a vt console #options FAT_CURSOR # start with block cursor device npx #device apm device pmtimer device sio # 8250, 16[45]50 based serial ports device ppc device ppbus # Parallel port bus (required) device lpt # Printer device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da device miibus # MII bus support device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') device random # Entropy device device loop # Network loopback device ether # Ethernet support device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling device faith # IPv6-to-IPv4 relaying (translation) device bpf # Berkeley packet filter device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device urio # Diamond Rio 500 MP3 player device uscanner # Scanners device aue # ADMtek USB ethernet device cue # CATC USB ethernet device kue # Kawasaki LSI USB ethernet TIA, -- Anthony Jenkins To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D11575E.3070703>