Re: Reminder: NET_NEEDS_GIANT, debug.mpsafenet going away in 7.0

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Tue, 17 Jul 2007 21:03:20 +0100 (BST)
On Tue, 17 Jul 2007, Pascal Hofstee wrote:

> On Tue, 2007-07-17 at 13:21 +0100, Robert Watson wrote:
>
>> This is a reminder e-mail that, in the very near future, Giant 
>> compatibility shims for network protocols will be removed.  These shimmed 
>> allowed Giant to be re-enabeld over the network stack as a result of 
>> linking in a service that required Giant (now all removed), or by setting 
>> the debug.mpsafenet variable to 1.  This means that the following will no 
>> longer be present:
>>
>>    debug.mpsafenet sysctl
>>    debug_mpsafenet global variable
>>    NET_NEEDS_GIANT()
>>    NET_LOCK_GIANT(), NET_UNLOCK_GIANT(), NET_ASSERT_GIANT()
>>    NET_CALLOUT_MPSAFE
>>
>> All instances of NET_{LOCK,UNLOCK,ASSERT}_GIANT() will be removed as they 
>> will no be no-ops.
>
> Ehrm ... i am not 100% sure here but what will this mean for those of us 
> running qemu on 7.x systems ... if i recall correctly qemu requires aio for 
> at least DMA which on 6.x at least still issues below warning when 
> kldloaded:
>
> WARNING: Network stack Giant-free, but aio requires Giant.
>    Consider adding 'options NET_WITH_GIANT' or setting
> debug.mpsafenet=0
>
> Does this removal of debug.mpsafenet mean that aio on CURRENT is now GIANT 
> free .. or does this mean that we'll be seeing problems with qemu on CURRENT 
> ?

I believe that davidxu did the work in 7.0 to make aio MPSAFE -- you should 
not get the above warning with 7.x, only 6.x.  The warning is generated by 
NET_NEEDS_GIANT("aio") in vfs_aio.c, and as of last week, there are no 
NET_NEEDS_GIANT() callers in 7.x (hence removing the infrastructure for it).

Robert N M Watson
Computer Laboratory
University of Cambridge
Received on Tue Jul 17 2007 - 18:03:21 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC