Re: I/O or Threading Suffer

From: Robert Watson <rwatson_at_FreeBSD.ORG>
Date: Tue, 20 Jul 2004 12:39:04 -0400 (EDT)
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_at_fledge.watson.org      Principal Research Scientist, McAfee Research
Received on Tue Jul 20 2004 - 14:39:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:02 UTC