LOR in /usr/src/sys/netinet/in.c:972
Robert Watson
rwatson at FreeBSD.org
Thu Sep 15 13:16:21 PDT 2005
On Thu, 15 Sep 2005, John Baldwin wrote:
>>> This is a real LOR caused by the fact that in_addmulti() holds the
>>> in_multi_mtx() lock across the call to if_addmulti() and if_addmulti()
>>> will acquire Giant for non-MPsafe drivers around calls into their
>>> ioctl routine. I think that to better expose these issues, the various
>>> conditional-Giant macros need to include a witness_warn() to make sure
>>> only sleepable locks and/or Giant are held when the lock macro is
>>> invoked.
>>
>> The right strategy here may in fact be to eliminate Giant acquisition
>> by network device drivers...
>
> I'm working on that. :)
And it is much appreciated :-).
Robert N M Watson
More information about the freebsd-current
mailing list