On Sat, Aug 16, 2003 at 09:12:27AM +0200, Poul-Henning Kamp wrote: > 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 ? It seems like the locking strategy is wrong (see other LORs in select() and poll()). Alfred said he had fixed it, but it was backed out: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/kern_descrip.c?rev=1.191&content-type=text/x-cvsweb-markup As I seem to recall, his strategy of fixing the problem itself caused other problems, though (which was why it was backed out). Kris
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:19 UTC