Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 May 2007 19:46:30 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Attilio Rao <attilio@freebsd.org>
Cc:        jroberson@chesapeake.net, current@freebsd.org
Subject:   Re: Panic on -CURRENT after LDT changes
Message-ID:  <1180395990.52160.3.camel@shumai.marcuscom.com>
In-Reply-To: <3bbf2fe10705281553n49ed5408qde560f53931b7d71@mail.gmail.com>
References:  <1180138048.94117.17.camel@shumai.marcuscom.com> <465780A3.8040603@FreeBSD.org> <1180140483.94117.24.camel@shumai.marcuscom.com> <20070528.162023.41711345.Tor.Egge@cvsup.no.freebsd.org> <465B4450.90800@FreeBSD.org> <3bbf2fe10705281553n49ed5408qde560f53931b7d71@mail.gmail.com>

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

--=-uRgFQoRdy4Zu+nZgRQw5
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Tue, 2007-05-29 at 00:53 +0200, Attilio Rao wrote:
> 2007/5/28, Attilio Rao <attilio@freebsd.org>:
> > Tor Egge wrote:
> > >
> > > Finally, I found that i386_ldt_grow() called smp_rendezvous() without
> > > temporarily unlocking dt_lock.  That caused a deadlock.  Adding a tem=
porary
> > > unlock of dt_lock seems to solve the problem for me.
> >
> > Effectively, there is the need to release the dt_lock before to call
> > smp_rendezvous() beacause other threads running on other CPUs will
> > contest on this lock and it will cause a deadlock (since their
> > curthreads don't hold the lock).
> > I think that mantaining the current locking requirements for
> > i386_ldt_grow() is still good, since, for how it is used, this is the
> > lighter approach. I will add release/unrelease around smp_rendezvous() =
too.
>=20
> Tor,
> I've updated the patch. Can you please redownload it and test/review:
> http://users.gufi.org/~rookie/works/patches/schedlock/ldt2.diff

I can confirm that with this patch, an SMP i386 Tinderbox machine of
mine that was seeing Tor's "lock held too long" panic survives much
longer.  No crashes after a few port builds.

Joe

--=20
PGP Key : http://www.marcuscom.com/pgp.asc

--=-uRgFQoRdy4Zu+nZgRQw5
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

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

iD8DBQBGW2nVb2iPiv4Uz4cRAuy1AKCjtp823pGv0vw5vcR/BB/AHsY6bACeOk9n
yGfzERB+aVPqHP6Gfj0KsRo=
=S590
-----END PGP SIGNATURE-----

--=-uRgFQoRdy4Zu+nZgRQw5--




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