Skip site navigation (1)Skip section navigation (2)
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>