LOR with filedesc structure and Giant

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Aug 16 00:12:35 PDT 2003


In message <Pine.NEB.3.96L.1030815225914.97011A-100000 at fledge.watson.org>, Robe
rt Watson writes:
>
>On Fri, 15 Aug 2003, Kris Kennaway wrote:
>
>> The problem seems to be due to select() being called on the /dev/null
>> device, and it is holding the filedesc lock when it reaches
>> PICKUP_GIANT() in spec_poll.
>
>Yeah, this is pretty much the same issue you've been bumping into for a
>bit -- we hold filedesc lock over select(), which means every object we
>poll can't grab a lock that either comes before the file descriptor lockin
>the lock order, or that might sleep.

Doesn't this effectively doom any attempt at getting rid af Giant
from below ?

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.


More information about the freebsd-current mailing list