From owner-freebsd-current@FreeBSD.ORG Tue Jul 20 17:03:49 2004 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 BD4CB16A4CE; Tue, 20 Jul 2004 17:03:49 +0000 (GMT) Received: from storm.FreeBSD.org.uk (storm.FreeBSD.org.uk [194.242.157.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B26443D6A; Tue, 20 Jul 2004 17:03:49 +0000 (GMT) (envelope-from mark@grondar.org) Received: from storm.FreeBSD.org.uk (Ugrondar@localhost [127.0.0.1]) i6KH3mko023420; Tue, 20 Jul 2004 18:03:48 +0100 (BST) (envelope-from mark@grondar.org) Received: (from Ugrondar@localhost)i6KH3l0I023419; Tue, 20 Jul 2004 18:03:47 +0100 (BST) (envelope-from mark@grondar.org) X-Authentication-Warning: storm.FreeBSD.org.uk: Ugrondar set sender to mark@grondar.org using -f Received: from grondar.org (localhost [127.0.0.1])i6KH3J0l080390; Tue, 20 Jul 2004 18:03:19 +0100 (BST) (envelope-from mark@grondar.org) From: Mark Murray Message-Id: <200407201703.i6KH3J0l080390@grimreaper.grondar.org> To: Robert Watson In-Reply-To: Your message of "Tue, 20 Jul 2004 12:39:04 EDT." Date: Tue, 20 Jul 2004 18:03:19 +0100 Sender: mark@grondar.org X-Mailman-Approved-At: Wed, 21 Jul 2004 11:38:15 +0000 cc: jesk cc: freebsd-current@FreeBSD.ORG cc: scottl@FreeBSD.ORG Subject: Re: I/O or Threading Suffer 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: Tue, 20 Jul 2004 17:03:49 -0000 Robert Watson writes: > > I'm sure it could. There are some Giant issues related to the UIO stuff > > that bit me in the bum when I removed the NEEDS_GIANT flag from the > > device, but I'm reasonably sure that with careful work this can be > > untangled. > > UIO shouldn't require Giant. Are you sure it still does? EMEMORY It was an issue over (t)sleeping with(out?) a lock held, and replacing the tsleep with a msleep+mutex gave another problem where uiomove() was called with(out?) a mutex held and that was Very Bad(tm). Warner and PHK knew why it was bad; I'm hazy on details. > Are you sure it still does? FYI, I'm not > even thinking you have to mark the whole device driver as not requiring > Giant, just dropping Giant about some of the long running work (and maybe > conditional on the amount of work). For a small random read, it's not > worth it, but for sustained large reads of randomness, it might be > interesting to see what impact it has. We could even consider a yield of > some sort. That sounds easy enough. It may take me a bit of time to get a machine stable enough for testing. Please nag! > Anyhow, up front, it might be sufficient to drop and reacquire giant and > see what impact it has for the test scenario we're currently looking at. Sure. Modulo instability, I'll do it ASAP. M -- Mark Murray iumop ap!sdn w,I idlaH