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 ResearchReceived 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