Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Sep 2010 23:53:11 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r212506 - head/sys/nfsclient
Message-ID:  <20100912205311.GG2465@deviant.kiev.zoral.com.ua>
In-Reply-To: <alpine.BSF.2.00.1009122140040.52130@fledge.watson.org>
References:  <201009121906.o8CJ68vQ002600@svn.freebsd.org> <alpine.BSF.2.00.1009122140040.52130@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--lqtP4FxvQo6hb6bg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Sep 12, 2010 at 09:41:46PM +0100, Robert Watson wrote:
>=20
> On Sun, 12 Sep 2010, Konstantin Belousov wrote:
>=20
> > Do not fork nfsiod directly from the vop methods. This causes LORs betw=
een
> > vnode lock and several locks needed during fork, like fd lock.
> >
> > Instead, schedule the task to be executed in the taskqueue context. We
> > still waiting for the fork to finish, but the context of the thread
> > executing the task does not make real LORs with our vnode lock.
>=20
> Does this actually functionally improve things, or is all this complexity=
=20
> about suppressing the lock order reversal?  If we're waiting synchronousl=
y=20
> for the other thread to launch from the task queue, then the lock order=
=20
> reversal still exists, it's just not visible to WITNESS...  If we had a=
=20
> static analysis tool that could run on lock and sleep/wakeup traces, it=
=20
> would still show a deadlock opportunity.

As I said in commit message, the deadlock should be fixed, because the
taskq thread is executed in the kernel process that should even not have
file descriptors at all.

--lqtP4FxvQo6hb6bg
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkyNPbYACgkQC3+MBN1Mb4horACdEfBPBECx7PKyITCdgySMJXtg
i+8AoMowsZKPz3IJIAjmZin4Ba6dD3YN
=Qiid
-----END PGP SIGNATURE-----

--lqtP4FxvQo6hb6bg--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100912205311.GG2465>