Subject: 10x kernel slowdown in less than a week?
To: None <port-sparc@NetBSD.ORG>
From: David Gilbert <dgilbert@jaywon.pci.on.ca>
List: port-sparc
Date: 02/28/1996 20:19:07
	I don't know what people have been doing, but now, using the
same config file as a week ago, I get a kernel that is nearly 10x
slower for disk operations.

	My Sun4/260 usually takes about 5 minutes to fsck it's 5 disks
(5 partitions, 2 of the disks are one ccd).  With Monday's Sup, it's
taking nearly 45 minutes.  The whole thing 'in use' is slow, too --- X
and launching applications is noticably slower.

	The new kernel also failed to run the news expire in 12 hours
(I had to kill it).  It normally takes 2 or 3.  It fell seriously
behind on unbatching (batches came in over the modem faster than they
were processed).  The system normally runs 200-300 batches/hour.   It
was doing less than 10.

	I'm going to include my config file at the end of this post.
I noticed also that the kernel ballooned in size by about 100K in one
week.  Is this the nfs v3 code, or something more evil?

	Whatever is slowing the whole process down SOOOO much is going
to stall my device driver work (I can't run that slow a kernel).

--begin src/sys/arch/sparc/conf/REPEAT--
# 	$NetBSD: GENERIC,v 1.13 1995/09/11 19:20:12 pk Exp $

machine		sparc
options		"SUN4"
#options	MMU_3L
#options	DDB,DEBUG,DIAGNOSTIC
#options	SCSIDEBUG

# obsolete timezone spec
options		TIMEZONE=0, DST=0

# Standard system options
options		SWAPPAGER, VNODEPAGER, DEVPAGER	# paging
#options	DEBUG, DIAGNOSTIC	# extra kernel debugging
options		KTRACE			# system call tracing support
#options	KGDB			# support for kernel gdb
#options	KGDBDEV=0xc01, KGDBRATE=38400	# device & baud rate
options		RCONSOLE		# fast rasterop console
options		SYSVMSG,SYSVSEM,SYSVSHM
options		"COMPAT_09", "COMPAT_10"

# Filesystem options
options		FFS
options		NFSSERVER	# Sun NFS-compatible filesystem
options		NFSCLIENT	# Sun NFS-compatible filesystem
options		KERNFS		# kernel data-structure filesystem
options		FIFO		# POSIX fifo support (in all filesystems)
#options	QUOTA		# fast filesystem with user and group quotas
options		MFS		# memory-based filesystem
options		LOFS		# Loop-back filesystem
options		FDESC		# user file descriptor filesystem
options		UMAPFS		# uid/gid remapping filesystem
#options	LFS		# Log-based filesystem (still experimental)
#options	PORTAL		# portal filesystem (still experimental)
options		PROCFS		# /proc
#options	CD9660		# ISO 9660 + Rock Ridge file system
options		UNION		# union file system

# Networking options
options		INET
options		TCP_COMPAT_42	# compatibility with 4.2BSD TCP/IP
#options	GATEWAY		# IP packet forwarding
#options	ISO		# OSI networking
#options	TPIP
#options	EON
options		COMPAT_43

options		LKM

# Options for SPARCstation hardware
options		COMPAT_SUNOS		# compatibility with SunOS binaries
options		COMPAT_SVR4		# compatibility with SVR4 binaries

config netbsd root on sd1a swap on sd1b and sd2b and sd3b and sd5b dumps on sd3b

mainbus0 at root
cpu0	at mainbus0

sbus0	at mainbus0
obio0	at mainbus0
vmes0	at mainbus0
vmel0	at mainbus0

#audio0	at mainbus0
auxreg0	at mainbus0
clock0	at mainbus0
clock0	at obio0 addr 0xf2000000
oclock0	at obio0 addr 0xf3000000
oclock0	at obio0 addr 0x03000000		# 4/100
eeprom0	at obio0 addr 0xf2000000
memreg0	at mainbus0
memreg0	at obio0 addr 0xf4000000
memreg0	at obio0 addr 0x04000000		# 4/100
timer0	at mainbus0
timer0	at obio0 addr 0xef000000

zs0	at mainbus0
zs0	at obio0 addr 0xf1000000 level 12 flags 0x103
zs0	at obio0 addr 0x01000000 level 12 flags 0x103	# 4/100
zs1	at mainbus0
zs1	at obio0 addr 0xf0000000 level 12 flags 0x103
zs1	at obio0 addr 0x00000000 level 12 flags 0x103	# 4/100
zs2	at obio0 addr 0xe0000000 level 12 flags 0x103

# FSBE/S or sun4m
#espdma0	at sbus0 slot ? offset ?
#espdma*	at sbus0 slot ? offset ?
#esp0	at espdma? slot ? offset ?
#esp*	at espdma? slot ? offset ?

# old sun4c SCSI
#dma0	at sbus0 slot ? offset ?
#dma*	at sbus0 slot ? offset ?
#dma0	at obio0 addr 0xfa001000 level 4
#esp0	at sbus0 slot ? offset ?
#esp*	at sbus0 slot ? offset ?
#esp0	at obio0 addr 0xfa000000 level 4

# old sun4c
#le0	at sbus? slot ? offset ?
#le*	at sbus? slot ? offset ?
#le0	at obio0 addr 0xf9000000 level 6

ie0	at obio0 addr 0xf6000000 level 6
ie0	at obio0 addr 0x06000000 level 6		# 4/100
#ie1	at vmes0 addr 0xffe88000 level 5 vect 0x75
#ie2	at vmes0 addr 0xff31ff02 level 5 vect 0x76
#ie3	at vmes0 addr 0xff35ff02 level 5 vect 0x77
#ie4	at vmes0 addr 0xff2dff02 level 5 vect 0x7c

#xdc0	at vmel0 addr 0xffffee80 level 3 vect 0x44
#xdc1	at vmel0 addr 0xffffee90 level 3 vect 0x45
#xdc2	at vmel0 addr 0xffffeea0 level 3 vect 0x46
#xdc3	at vmel0 addr 0xffffeeb0 level 3 vect 0x47
#xd*	at xdc? drive ?

#si0	at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x03
si0	at vmes0 addr 0xff200000 level 3 vect 0x40 flags 0x03
#sw0	at obio0 addr 0x0a000000 level 3

#bwtwo0	at sbus? slot ? offset ?
#bwtwo*	at sbus? slot ? offset ?
#bwtwo0	at obio0 addr 0xfd000000 level 4	# 4/260
#bwtwo0	at obio0 addr 0xfb300000 level 4	# 4/{300/400} ??
# Add experimental cgtwo driver to try it out.
#cgtwo0	at vmes0 addr 0xff400000 level 4
cgtwo0	at vmes0 addr 0xff400000 level 4 vect 0xa8
#cgthree0 at sbus? slot ? offset ?
#cgthree* at sbus? slot ? offset ?
#cgsix0 at sbus? slot ? offset ?
#cgsix* at sbus? slot ? offset ?

#scsibus* at esp?
scsibus0 at si0
scsibus* at si?
#scsibus* at sw?

# Add in some definate devices of our own.
#sd0	at scsibus0 target 0 lun 0
sd1	at scsibus0 target 0 lun 1
sd2	at scsibus0 target 1 lun 0
sd3	at scsibus0 target 2 lun 0
sd4	at scsibus0 target 3 lun 0
sd5	at scsibus0 target 5 lun 0
sd*	at scsibus? target ? lun ?
st0	at scsibus0 target 4 lun 0
#st*	at scsibus? target ? lun ?
#cd*	at scsibus? target ? lun ?

#fdc0	at mainbus0
#fd*	at fdc0

pseudo-device	loop
pseudo-device	pty	32
pseudo-device	ccd	2
pseudo-device	sl	2
pseudo-device	kbd
pseudo-device	ppp	2
pseudo-device	tun	4
pseudo-device	vnd	3
pseudo-device	bpfilter 16
--end src/sys/arch/sparc/conf/REPEAT--

Dave.

-- 
----------------------------------------------------------------------------
|David Gilbert, PCI, Richmond Hill, Ontario.  | Two things can only be     |
|Mail:      dgilbert@jaywon.pci.on.ca         |  equal if and only if they |
|http://www.pci.on.ca/~dgilbert               |   are precisely opposite.  |
---------------------------------------------------------GLO----------------