Subject: locking problem in nfsio with LOCKDEBUG
To: NetBSD current <current-users@netbsd.org>
From: Nicolas Joly <njoly@pasteur.fr>
List: current-users
Date: 12/09/2003 11:53:37
While testing biological databanks reformatters on our amd64 box
(running -current 20031208), we encountered some NFS client locking
problems.

The system fell in debugger, while processing about 110GB (530 text
files, high number of nfs operations) :

LK_SPIN spinout, excl 1, share 0
held by CPU 1
last locked at /local/src/NetBSD/src/sys/kern/kern_synch.c:978
last unlocked at /local/src/NetBSD/src/sys/kern/kern_lock.c:1364
_spinlock_acquire_count() at netbsd:_spinlock_acquire_count+0x7f
mi_switch() at netbsd:mi_switch+0x150
ltsleep() at netbsd:ltsleep+0x43b
nfssvc_iod() at netbsd:nfssvc_iod+0x106
start_nfsio() at netbsd:start_nfsio+0x16
Stopped in pid 285.1 (nfsio) at netbsd:cpu_Debugger+0x5:

This a GENERIC.MP kernel, with DDB and LOCKDEBUG support.

njoly@calimero [sys/nfs]> uname -a
NetBSD calimero.sis.pasteur.fr 1.6ZG NetBSD 1.6ZG (CALIMERO) #2: Mon Dec  8 16:18:49 CET 2003  njoly@calimero.sis.pasteur.fr:/local/src/NetBSD/obj/amd64/sys/arch/amd64/compile/CALIMERO amd64

The NFS partition comes from a R150 NetApp filer.

njoly@calimero [sys/nfs]> mount -vv | grep 'type nfs'
emmental.sis.pasteur.fr:/vol/bordel/calimero on /mount/calimero type nfs (writes: sync 0 async 0, [nfs: addr=xxx.xxx.xxx.xxx, port=2049, addrlen=16, sotype=2, proto=0, fhsize=0, flags=0x8280<noconn,nfsv3,resvport>, wsize=32768, rsize=32768, readdirsize=8192, timeo=300, retrans=10, maxgrouplist=16, readahead=2, leaseterm=30, deadthresh=9])

njoly@calimero [sys/nfs]> df -k | grep emmental.sis
emmental.sis.pasteur.fr:/vol/bordel/calimero 3516485532 1711711012 1804774520    48%    /mount/calimero

Thanks in advance,
Regards.

-- 
Nicolas Joly

Biological Software and Databanks.
Institut Pasteur, Paris.