Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Sep 2010 16:46:23 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Rui Paulo <rpaulo@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r212465 - head/sys/cddl/contrib/opensolaris/uts/common/dtrace
Message-ID:  <20100911134623.GA2465@deviant.kiev.zoral.com.ua>
In-Reply-To: <BBCBA5E6-BE22-4197-992C-3F7320EF2CF6@freebsd.org>
References:  <201009111258.o8BCwViM097096@svn.freebsd.org> <20100911132314.GZ2465@deviant.kiev.zoral.com.ua> <BBCBA5E6-BE22-4197-992C-3F7320EF2CF6@freebsd.org>

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

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

On Sat, Sep 11, 2010 at 02:36:26PM +0100, Rui Paulo wrote:
> On 11 Sep 2010, at 14:23, Kostik Belousov wrote:
>=20
> > On Sat, Sep 11, 2010 at 12:58:31PM +0000, Rui Paulo wrote:
> >> Author: rpaulo
> >> Date: Sat Sep 11 12:58:31 2010
> >> New Revision: 212465
> >> URL: http://svn.freebsd.org/changeset/base/212465
> >>=20
> >> Log:
> >>  Avoid a LOR (sleepable after non-sleepable) in
> >>  fasttrap_tracepoint_enable().
> >>=20
> >>  Sponsored by:	The FreeBSD Foundation
> >>=20
> >> Modified:
> >>  head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c
> >>=20
> >> Modified: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap=
.c
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> >> --- head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c	Sat=
 Sep 11 12:51:01 2010	(r212464)
> >> +++ head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c	Sat=
 Sep 11 12:58:31 2010	(r212465)
> >> @@ -591,7 +591,9 @@ fasttrap_tracepoint_enable(proc_t *p, fa
> >> 	 * Before we make any modifications, make sure we've imposed a barrier
> >> 	 * on the generation in which this probe was last modified.
> >> 	 */
> >> +	PROC_UNLOCK(p);
> >> 	fasttrap_mod_barrier(probe->ftp_gen);
> >> +	PROC_LOCK(p);
> >>=20
> >> 	bucket =3D &fasttrap_tpoints.fth_table[FASTTRAP_TPOINTS_INDEX(pid, pc=
)];
> >>=20
> > I suspect that you should hold the process around unlocked region.
>=20
> The unlocked region in the diff ? You're saying I shouldn't unlock/lock h=
ere?
No, I am saying that you should do _PHOLD before dropping process lock.

>=20
> > fasttrap_pid_enable() also does unlock, so it might be better to hold
> > the process immediately after pfind().
>=20
> You mean use _PHOLD after pfind()?
Yes.

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

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

iEYEARECAAYFAkyLiC4ACgkQC3+MBN1Mb4hWigCg2T9Gl+qOBJ9ruB3wPIbl/snY
NOcAoJqYouH+clpGVVrPN0NdIA3Zo9Mp
=TAoA
-----END PGP SIGNATURE-----

--k1G2Bc0EDIhoSmEt--



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