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>
index | next in thread | raw e-mail
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
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D11575E.3070703>
