Interrupt latency problems
matt
matt at grogged.dyndns.org
Mon May 19 14:50:45 PDT 2003
I hate to even bring this one up but I'm seeing the same symptoms on a
k6/2 400, which isn't an SMP box, and doesn't have acpi enabled. The
problem is more or less as described earlier, any intense disk access more
or less makes X unbearably unresponsive (mouse updates ever 3 seconds or
so, same for keystroke echos on xterms). Back under 4.7-R I can remember
downloading files from this box over 100Mbps e-net and saturating the
line, with X remaining very usable, now it's more like 5MB/s with a
semi-frozen X display, so I'm pretty sure the machine has enough muscle to
do what I'm asking of it. Took some patience but I grabbed some output
from top -S while I was downloading a file over ftp from the k6/2 400, as
seen below. Oh, I guess I should mention that as soon as I kill a file
transfer X instantly returns back to its normal, usable self. Other
relevant (and not so relevant) information below:
# dmesg
Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.1-BETA #2: Wed May 14 22:15:33 GMT 2003
matt at hopelessposh.dyndns.org:/usr/src/sys/i386/compile/POSH
Preloaded elf kernel "/boot/kernel/kernel" at 0xc04d8000.
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 400910367 Hz
CPU: AMD-K6(tm) 3D processor (400.91-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x58c Stepping = 12
Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 201326592 (192 MB)
avail memory = 190259200 (181 MB)
K6-family MTRR support enabled (2 registers)
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcibios: BIOS version 2.10
Using $PIR table, 6 entries at 0xc00fdb30
pcib0: <AcerLabs M1541 (Aladdin-V) PCI host bridge> at pcibus 0 on
motherboard
pci0: <PCI bus> on pcib0
agp0: <Ali M1541 host to AGP bridge> mem 0xe0000000-0xe3ffffff at device
0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Promise PDC20262 UDMA66 controller> port
0xe000-0xe03f,0xdc00-0xdc03,0xd800-0xd807,0xd400-0xd403,0xd000-0xd007 mem
0xed100000-0xed11ff
ff irq 15 at device 8.0 on pci0
ata2: at 0xd000 on atapci0
ata3: at 0xd800 on atapci0
fxp0: <Intel 82557/8/9 EtherExpress Pro/100(B) Ethernet> port
0xe400-0xe43f mem 0xed000000-0xed0fffff,0xed120000-0xed120fff irq 11 at
device 9.0
on pci0
fxp0: Ethernet address 00:04:ac:d3:7c:bb
miibus0: <MII bus> on fxp0
inphy0: <i82555 10/100 media interface> on miibus0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ahc0: <Adaptec 2940 Ultra SCSI adapter> port 0xe800-0xe8ff mem
0xed121000-0xed121fff irq 10 at device 10.0 on pci0
aic7880: Ultra Single Channel A, SCSI Id=7, 16/253 SCBs
atapci1: <AcerLabs Aladdin UDMA33 controller> port 0xf000-0xf00f at device
15.0 on pci0
ata0: at 0x1f0 irq 14 on atapci1
ata1: simplex device, DMA on primary only
ata1: at 0x170 irq 15 on atapci1
orm0: <Option ROMs> at iomem
0xd4000-0xd47ff,0xcc000-0xd3fff,0xc0000-0xc9fff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse Explorer, device ID 4
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port
0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: parallel port not found.
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
unknown: <PNP0303> can't assign resources (port)
unknown: <PNP0f13> can't assign resources (irq)
unknown: <PNP0700> can't assign resources (port)
unknown: <PNP0501> can't assign resources (port)
Timecounters tick every 10.000 msec
ad0: 9768MB <ST310212A> [19846/16/63] at ata0-master UDMA33
ad4: 114440MB <WDC WD1200JB-75CRA0> [232514/16/63] at ata2-master UDMA66
ad6: 114440MB <WDC WD1200JB-75CRA0> [232514/16/63] at ata3-master UDMA66
ar0: 228880MB <ATA RAID0 array> [29178/255/63] status: READY subdisks:
disk0 READY on ad4 at ata2-master
disk1 READY on ad6 at ata3-master
Waiting 15 seconds for SCSI devices to settle
Opened disk ad4 -> 1
Opened disk ad4 -> 1
Opened disk ad6 -> 1
Opened disk ad6 -> 1
cd1 at ahc0 bus 0 target 6 lun 0
cd1: <TOSHIBA DVD-ROM SD-M1401 1009> Removable CD-ROM SCSI-2 device
cd1: 20.000MB/s transfers (20.000MHz, offset 15)
cd1: cd present [2298496 x 2048 byte records]
Mounting root from ufs:/dev/ad0s1a
cd0 at ahc0 bus 0 target 2 lun 0
cd0: <TOSHIBA DVD-ROM SD-M1401 1010> Removable CD-ROM SCSI-2 device
cd0: 20.000MB/s transfers (20.000MHz, offset 15)
cd0: Attempt to query device size failed: NOT READY, Medium not present
drm0: <3dfx Voodoo3 3000> port 0xc000-0xc0ff mem
0xe8000000-0xe9ffffff,0xe4000000-0xe5ffffff irq 15 at device 0.0 on pci1
info: [drm] Initialized tdfx 1.0.0 20010216 on minor 0
# uname -a
FreeBSD hopelessposh.dyndns.org 5.1-BETA FreeBSD 5.1-BETA #2: Wed May 14 22:15:33 GMT 2003
matt at hopelessposh.dyndns.org:/usr/src/sys/i386/compile/POSH i386
last pid: 8109; load averages: 4.54, 1.51, 0.69 up 0+09:06:42 17:58:22
74 processes: 6 running, 60 sleeping, 8 waiting
CPU states: 1.2% user, 0.0% nice, 68.2% system, 28.0% interrupt, 2.5% idle
Mem: 52M Active, 82M Inact, 43M Wired, 6816K Cache, 28M Buf, 572K Free
Swap: 364M Total, 116K Used, 364M Free
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
8102 root 4 0 1876K 1348K sbwait 0:39 44.28% 44.24% ftpd
22 root -68 -187 0K 12K WAIT 2:15 12.94% 12.94% irq11: fxp0
4 root -8 0 0K 12K g_down 2:25 11.38% 11.38% g_down
12 root -44 -163 0K 12K WAIT 1:49 8.40% 8.40% swi1: net
11 root -16 0 0K 12K RUN 507:38 5.22% 5.22% idle
21 root -64 -183 0K 12K WAIT 0:55 5.18% 5.18% irq15: atapci
3 root -8 0 0K 12K g_up 0:32 1.27% 1.27% g_up
5 root -16 0 0K 12K psleep 0:17 0.98% 0.98% pagedaemon
13 root -48 -167 0K 12K RUN 1:51 0.20% 0.20% swi7: tty:sio
1107 root 96 0 78524K 77328K RUN 3:39 0.00% 0.00% XFree86
1136 matt 96 0 5300K 3936K select 1:14 0.00% 0.00% xclock
1126 matt 96 0 4704K 2996K select 0:29 0.00% 0.00% xterm
7 root 171 52 0K 12K RUN 0:16 0.00% 0.00% pagezero
1906 matt 96 0 3304K 1844K select 0:11 0.00% 0.00% telnet
32 root 20 0 0K 12K syncer 0:10 0.00% 0.00% syncer
# ps -aux | grep acpi
root 8175 0.0 0.3 1336 600 p3 DL+ 6:13PM 0:00.03 grep acpi
# ps -agx | grep irq
21 ?? WL 0:56.79 (irq15: atapci0 ata1)
22 ?? WL 2:19.14 (irq11: fxp0)
23 ?? WL 0:00.00 (irq10: ahc0)
24 ?? WL 0:04.01 (irq14: ata0)
25 ?? WL 0:00.97 (irq1: atkbd0)
26 ?? WL 0:01.48 (irq12: psm0)
27 ?? WL 0:00.00 (irq6: fdc0)
8177 p3 R+ 0:00.01 grep irq
kernel config file:
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.382 2003/04/21 16:44:04 simokawa
Exp $
machine i386
cpu I586_CPU
cpu I686_CPU
ident POSH
makeoptions DEBUG=-g #Build kernel with gdb(1) debug
symbols
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
options UFS_ACL #Support for access control lists
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 COMPAT_FREEBSD4 #Compatible with FreeBSD4
options SCSI_DELAY=15000 #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 _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time
extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in
debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in
debug
# output. Adds ~215k to driver.
options GEOM_BDE
# Debugging for use in -current
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 detect deadlocks
and cycles
options WITNESS_SKIPSPIN #Don't run witness on spinlocks
for speed
device isa
device eisa
device pci
# Floppy drives
device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
options ATA_STATIC_ID #Static device numbering
# SCSI Controllers
device ahc # AHA2940 and onboard AIC7xxx devices
# SCSI peripherals
device scbus # SCSI bus (required)
device ch # SCSI media changers
device da # Direct Access (disks)
device cd # CD
device pass # Passthrough device (direct SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse
device vga # VGA video card driver
device splash # Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device sc
# Enable this for the pcvt (VT220 compatible) console driver
#device vt
options XSERVER # support for X server on a vt
console
#options FAT_CURSOR # start with block cursor
device agp # support several AGP chipsets
# Floating point support - do not disable.
device npx
# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer
# Serial (COM) ports
device sio # 8250, 16[45]50 based serial ports
# Parallel port
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
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these
NICs!
device miibus # MII bus support
device fxp # Intel EtherExpress PRO/100B (82557,
82558)
# 'device ed' requires 'device miibus'
device ep # Etherlink III based cards
# Pseudo devices - the number indicates how many units to allocate.
device random # Entropy device
device loop # Network loopback
device ether # Ethernet support
device sl # Kernel SLIP
device ppp # Kernel PPP
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)
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filter
# USB support
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
# USB Ethernet, requires mii
device aue # ADMtek USB ethernet
device axe # ASIX Electronics USB ethernet
device cue # CATC USB ethernet
device kue # Kawasaki LSI USB ethernet
- I'm going to try the other scheduler I guess and see if that changes
anything. Any suggestions or observations are appreciated. Thanks
everyone,
- Matt
More information about the freebsd-current
mailing list