LOR with filedesc structure and Giant

Robert Watson rwatson at freebsd.org
Fri Aug 15 20:02:25 PDT 2003


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.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org      Network Associates Laboratories




More information about the freebsd-current mailing list