Subject: Re: locking problem in nfsio with LOCKDEBUG
To: NetBSD current <current-users@netbsd.org>
From: Juergen Hannken-Illjes <hannken@eis.cs.tu-bs.de>
List: current-users
Date: 12/09/2003 12:06:25
On Tue, Dec 09, 2003 at 11:53:37AM +0100, Nicolas Joly wrote:
> 
> 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

Do you have sys/kern/kern_lock.c Rev. 1.74 or higher?
-- 
Juergen Hannken-Illjes - hannken@eis.cs.tu-bs.de - TU Braunschweig (Germany)