Re: LOR in /usr/src/sys/netinet/in.c:972

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Thu, 15 Sep 2005 21:16:17 +0100 (BST)
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
Received on Thu Sep 15 2005 - 18:16:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:43 UTC