From owner-freebsd-current Wed Jun 19 20:17:59 2002 Delivered-To: freebsd-current@freebsd.org Received: from sccrmhc01.attbi.com (sccrmhc01.attbi.com [204.127.202.61]) by hub.freebsd.org (Postfix) with ESMTP id 07A7C37B406 for ; Wed, 19 Jun 2002 20:17:47 -0700 (PDT) Received: from attbi.com ([24.60.235.125]) by sccrmhc01.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20020620031746.UUEV1024.sccrmhc01.attbi.com@attbi.com> for ; Thu, 20 Jun 2002 03:17:46 +0000 Message-ID: <3D11575E.3070703@attbi.com> Date: Thu, 20 Jun 2002 00:17:34 -0400 From: Anthony Jenkins User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.0.0) Gecko/20020609 X-Accept-Language: en-us, en MIME-Version: 1.0 To: FreeBSD-current Subject: High interrupt usage in system (ohci and/or pcm?) Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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