From owner-freebsd-current@FreeBSD.ORG Mon May 28 23:46:46 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B0E0216A4F3; Mon, 28 May 2007 23:46:46 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from creme-brulee.marcuscom.com (creme-brulee.marcuscom.com [24.172.16.118]) by mx1.freebsd.org (Postfix) with ESMTP id 2D3EB13C447; Mon, 28 May 2007 23:46:45 +0000 (UTC) (envelope-from marcus@marcuscom.com) Received: from [IPv6:2001:470:1f00:2464::4] (shumai.marcuscom.com [IPv6:2001:470:1f00:2464::4]) by creme-brulee.marcuscom.com (8.14.1/8.14.1) with ESMTP id l4SNl1ZS034448; Mon, 28 May 2007 19:47:01 -0400 (EDT) (envelope-from marcus@marcuscom.com) From: Joe Marcus Clarke To: Attilio Rao 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> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-uRgFQoRdy4Zu+nZgRQw5" Organization: MarcusCom, Inc. Date: Mon, 28 May 2007 19:46:30 -0400 Message-Id: <1180395990.52160.3.camel@shumai.marcuscom.com> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 FreeBSD GNOME Team Port X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,NO_RELAYS autolearn=ham version=3.1.8 X-Spam-Checker-Version: SpamAssassin 3.1.8 (2007-02-13) on creme-brulee.marcuscom.com Cc: jroberson@chesapeake.net, current@freebsd.org Subject: Re: Panic on -CURRENT after LDT changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 May 2007 23:46:46 -0000 --=-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 : > > 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--