NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/36150 (vnlock deadlock on nbftp due to layerfs and LFS interaction)



The following reply was made to PR kern/36150; it has been noted by GNATS.

From: "J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: kern/36150 (vnlock deadlock on nbftp due to layerfs and LFS 
interaction)
Date: Sat, 12 Jul 2014 21:41:54 +0200

 On 12 Jul 2014, at 19:45, David Holland <dholland-bugs%netbsd.org@localhost> =
 wrote:
 
 > The following reply was made to PR kern/36150; it has been noted by =
 GNATS.
 >=20
 > From: David Holland <dholland-bugs%netbsd.org@localhost>
 > To: gnats-bugs%netbsd.org@localhost
 > Cc:=20
 > Subject: Re: kern/36150 (vnlock deadlock on nbftp due to layerfs and =
 LFS
 > interaction)
 > Date: Sat, 12 Jul 2014 17:41:55 +0000
 >=20
 > On Sat, Jul 12, 2014 at 05:29:56PM +0000, dholland%NetBSD.org@localhost 
 > wrote:
 >> Synopsis: vnlock deadlock on nbftp due to layerfs and LFS interaction
 >>=20
 >> State-Changed-From-To: analyzed->feedback
 >> State-Changed-By: dholland%NetBSD.org@localhost
 >> State-Changed-When: Sat, 12 Jul 2014 17:29:56 +0000
 >> State-Changed-Why:
 >> Is lfs_putpages significantly different from genfs_putpages in this =
 regard?
 >> genfs_putpages flips locks on and off like beads on an abacus, =
 including
 >> the uvm_object lock (which for vnodes I thought was the same as the =
 vnode
 >> lock, but maybe not) and I've long thought it problematic but had no =
 useful
 >> ideas about how to change it.
 >=20
 > Also, I don't currently see anything in lfs_putpages that touches the
 > vnode lock. Has this issue already been cleaned up?
 
 Some remarks:
 
 - A long time ago lfs_putpages() DID unlock/relock the vnode lock.
   Current lfs has a diagnostic block on VOP_ISLOCKED() but will
   not unlock/relock.  Not sure if this was the only unlock.
 
 - This PR starts with "thread 1 calls getnewvnode(), which chooses
   an nullfs REG vnode to recycle."  Getnewvnode does not recycle
   vnodes for a long time -- it always allocates a fresh one.
 
 --
 J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)
 


Home | Main Index | Thread Index | Old Index