Date: Tue, 20 Jul 2004 12:39:04 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.ORG> To: Mark Murray <mark@grondar.org> Cc: markm@FreeBSD.ORG Subject: Re: I/O or Threading Suffer Message-ID: <Pine.NEB.3.96L.1040720122732.98217B-100000@fledge.watson.org> In-Reply-To: <200407201554.i6KFsCtW079782@grimreaper.grondar.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 20 Jul 2004, Mark Murray wrote: > Robert Watson writes: > > Mark -- how much > > computation is being done here -- would it be worth dropping the Giant > > lock during that computation so that the thread can yield without > > generating a priority inversion? > > 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? 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. 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. Robert N M Watson FreeBSD Core Team, TrustedBSD Projects robert@fledge.watson.org Principal Research Scientist, McAfee Research
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1040720122732.98217B-100000>