Reminder: NET_NEEDS_GIANT, debug.mpsafenet going away in 7.0
Robert Watson
rwatson at FreeBSD.org
Tue Jul 17 20:03:21 UTC 2007
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
More information about the freebsd-arch
mailing list