From owner-freebsd-current@FreeBSD.ORG Sat Aug 16 01:13:33 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C39F037B401; Sat, 16 Aug 2003 01:13:33 -0700 (PDT) Received: from obsecurity.dyndns.org (adsl-64-169-107-97.dsl.lsan03.pacbell.net [64.169.107.97]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF17B43FAF; Sat, 16 Aug 2003 01:13:32 -0700 (PDT) (envelope-from kris@obsecurity.org) Received: from rot13.obsecurity.org (rot13.obsecurity.org [10.0.0.5]) by obsecurity.dyndns.org (Postfix) with ESMTP id 309A066D7A; Sat, 16 Aug 2003 01:13:31 -0700 (PDT) Received: by rot13.obsecurity.org (Postfix, from userid 1000) id C252E653; Sat, 16 Aug 2003 01:13:30 -0700 (PDT) Date: Sat, 16 Aug 2003 01:13:30 -0700 From: Kris Kennaway To: Poul-Henning Kamp Message-ID: <20030816081330.GA73680@rot13.obsecurity.org> References: <18472.1061017947@critter.freebsd.dk> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="AhhlLboLdkugWU4S" Content-Disposition: inline In-Reply-To: <18472.1061017947@critter.freebsd.dk> User-Agent: Mutt/1.4.1i cc: Robert Watson cc: current@freebsd.org cc: Kris Kennaway Subject: Re: LOR with filedesc structure and Giant X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Sat, 16 Aug 2003 08:13:34 -0000 --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Aug 16, 2003 at 09:12:27AM +0200, Poul-Henning Kamp wrote: > In message = , Robe > rt Watson writes: > > > >On Fri, 15 Aug 2003, Kris Kennaway wrote: > > > >> The problem seems to be due to select() being called on the /dev/null > >> device, and it is holding the filedesc lock when it reaches > >> PICKUP_GIANT() in spec_poll. > > > >Yeah, this is pretty much the same issue you've been bumping into for a > >bit -- we hold filedesc lock over select(), which means every object we > >poll can't grab a lock that either comes before the file descriptor lock= in > >the lock order, or that might sleep. >=20 > Doesn't this effectively doom any attempt at getting rid af Giant > from below ? It seems like the locking strategy is wrong (see other LORs in select() and poll()). Alfred said he had fixed it, but it was backed out: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_descrip.c?rev=3D1.1= 91&content-type=3Dtext/x-cvsweb-markup As I seem to recall, his strategy of fixing the problem itself caused other problems, though (which was why it was backed out). Kris --AhhlLboLdkugWU4S Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (FreeBSD) iD8DBQE/PeeqWry0BWjoQKURApoOAJ0WKpKCI088jOfv/uuDsV9FSg7SHQCdH/gG AAYLEwxovhOXrRkV3m5nPy8= =wWpw -----END PGP SIGNATURE----- --AhhlLboLdkugWU4S--