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