Subject: kern/5515: i386 UVM panics under disk load
To: None <gnats-bugs@gnats.netbsd.org>
From: None <billc@NetBSD.ORG>
List: netbsd-bugs
Date: 05/30/1998 21:31:39
>Number:         5515
>Category:       kern
>Synopsis:       i386 UVM panics until disk load
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat May 30 21:35:01 1998
>Last-Modified:
>Originator:     William Coldwell
>Organization:
--
William J. Coldwell               r               Warped Communications, Inc.
Executive Vice President   a    a  p     e    ?  1601 Civic Center Dr, Ste 101
Email: billc@warped.com  I  m  W   e !  r  y u   Santa Clara, California 95050
 http://www.warped.com              d  A    o    408.248.WARP FAX:408.347.WARP
>Release:        <NetBSD-current source date> 05/30/98
>Environment:
	
System: NetBSD shell.warped.com 1.3E NetBSD 1.3E (SHELL) #1: Sat May 30 14:19:11 PDT 1998 root@shell.warped.com:/ccd0/netbsd/src/sys/arch/i386/compile/SHELL i386


>Description:
	 kernel with UVM and PMAP_NEW compiled, do something with lots of disk I/O. panic. boom. dead.
This _used_ to happen, except it would be specific to the AHC 2940UW would report it had run out of SCB's, the last time I played with UVM.  That appears to have been fixed.

please forgive the incompleteness.. I can't read my own scribbles)
1st failure: panic - malloc out of space in kmem_map
panic(f011b80c,0,0,0,1000) @ 0x55
malloc(f4,2d,0,f2b98484,f0c21600) @ 0x195
ffs_vget(..) @0xd3
ufs_lookup(...) @0xb37
lookup(...) @0x245
namei(...) @0x189
sys___lstat13 @0x4

2nd failure: panic - pmap_alloc_pvpage
panic(f01c0176,f061f1f8,0,543f,f010)
pmap_alloc_pvpage(0,fc792ec0,4,1,f061f1f8) @0x55
pmap_enter(..) @0x254
uvm_fault(f0c84200,40049000,0,1,31900) @0x350
trap() @ 0x3d3
trap #6

dmesg output:
NetBSD 1.3E (SHELL) #1: Sat May 30 14:19:11 PDT 1998
    root@shell.warped.com:/ccd0/netbsd/src/sys/arch/i386/compile/SHELL
cpu0: family 6 model 3 step 3
cpu0: Intel Pentium II (686-class)
real mem  = 268042240
avail mem = 249417728
using 2822 buffers containing 12582912 bytes of memory
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o enabled, memory enabled
Intel 82443LX PCI AGP Controller (PAC) (host bridge, revision 0x03) at pci0 dev 0 function 0 not configured
Intel 82443LX AGP Device (PAC) (PCI bridge, revision 0x03) at pci0 dev 1 function 0 not configured
pcib0 at pci0 dev 4 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x01)
Intel 82371AB IDE controller (PIIX4) (IDE mass storage, interface 0x80, revision 0x01) at pci0 dev 4 function 1 not configured
Intel 82371AB USB Host Controller (PIIX4) (USB serial bus, revision 0x01) at pci0 dev 4 function 2 not configured
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x01) at pci0 dev 4 function 3 not configured
Cirrus Logic CL-GD5430 (VGA display, revision 0x47) at pci0 dev 10 function 0 not configured
de0 at pci0 dev 11 function 0
de0: interrupting at irq 10
de0: SMC 8432BT 21040 [10Mb/s] pass 2.3
de0: address 00:00:c0:5f:d9:0d
ahc0 at pci0 dev 12 function 0
ahc0: interrupting at irq 11
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
scsibus0 at ahc0 channel 0: 16 targets
ahc0: target 0 using 16Bit transfers
ahc0: target 0 synchronous at 20.0MHz, offset = 0x8
sd0 at scsibus0 targ 0 lun 0: <QUANTUM, XP34550W, LXY1> SCSI2 0/direct fixed
sd0: 4341MB, 5899 cyl, 10 head, 150 sec, 512 bytes/sect x 8890760 sectors
ahc0: target 1 using 16Bit transfers
ahc0: target 1 synchronous at 20.0MHz, offset = 0x8
sd1 at scsibus0 targ 1 lun 0: <QUANTUM, XP34550W, LXY1> SCSI2 0/direct fixed
sd1: 4341MB, 5899 cyl, 10 head, 150 sec, 512 bytes/sect x 8890760 sectors
ahc0: target 2 using 16Bit transfers
ahc0: target 2 synchronous at 20.0MHz, offset = 0x8
sd2 at scsibus0 targ 2 lun 0: <QUANTUM, XP34550W, LXY4> SCSI2 0/direct fixed
sd2: 4341MB, 5899 cyl, 10 head, 150 sec, 512 bytes/sect x 8890760 sectors
ahc0: target 3 using 16Bit transfers
ahc0: target 3 synchronous at 20.0MHz, offset = 0x8
sd3 at scsibus0 targ 3 lun 0: <SEAGATE, ST34371W, 0484> SCSI2 0/direct fixed
sd3: 4148MB, 5172 cyl, 10 head, 164 sec, 512 bytes/sect x 8496884 sectors
ahc0: target 5 using 16Bit transfers
ahc0: target 5 synchronous at 20.0MHz, offset = 0x8
sd4 at scsibus0 targ 5 lun 0: <SEAGATE, ST34572W, 0784> SCSI2 0/direct fixed
sd4: 4340MB, 6300 cyl, 8 head, 176 sec, 512 bytes/sect x 8888924 sectors
ahc0: target 8 using 16Bit transfers
ahc0: target 8 synchronous at 10.0MHz, offset = 0x8
sd5 at scsibus0 targ 8 lun 0: <WDIGTL, ENTERPRISE, 1.91> SCSI2 0/direct fixed
sd5: 2077MB, 5720 cyl, 4 head, 185 sec, 512 bytes/sect x 4254819 sectors
ahc0: target 9 using 16Bit transfers
ahc0: target 9 synchronous at 10.0MHz, offset = 0x8
sd6 at scsibus0 targ 9 lun 0: <WDIGTL, ENTERPRISE, 1.91> SCSI2 0/direct fixed
sd6: 2077MB, 5720 cyl, 4 head, 185 sec, 512 bytes/sect x 4254819 sectors
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
npx0 at isa0 port 0xf0-0xff: using exception 16
vt0 at isa0 port 0x60-0x6f irq 1
vt0: cl-gd5430, 80/132 col, color, 8 scr, mf2-kbd, [R3.32]
pms0 at vt0 irq 12
vt0: console
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
biomask 840 netmask c40 ttymask 1c42
boot device: sd0
root on sd0a dumps on sd0b
root file system type: ffs
de0: enabling 10baseT port

 Aperture driver for XFree86 version 1.6


Notes: This is a fast machine, with a large CCD strip of 21G and a fair amount of memory.  The kernel config is a reduced version of GENERIC.  Having:

NMBCLUSTERS=1024
BUFPAGES=3072

doesn't appear to make a difference to the outcome. No AHC_ specific flags are set.  As I stated, UVM has always had problems on this machine one way or another, but it looks like they're narrowing down to probably an issue with the AHC driver or how that memory is being handled.


>How-To-Repeat:
	 something like 'make build' will trigger it, as was used in the demonstration to get the above information.
>Fix:
	
>Audit-Trail:
>Unformatted: