Re: ifmcstat/rtsol with debug kernel -- "...with 1 sleep inhibitors"

From: Pouria Mousavizadeh Tehrani <pouria_at_FreeBSD.org>
Date: Mon, 23 Mar 2026 18:57:00 UTC
Hi,

Thanks, I'm aware of these problems and already working on them.
Most are caused by using callout_drain in non-sleepable contexts.
After the witness update, I detected many of them and am actively 
working on fixing them.
But this will take time.
Please be patient regarding witness warnings for now.

On 3/23/26 8:01 PM, Zhenlei Huang wrote:
>> I have no clue which chnage it was but running
>> 	 ifmcstat
>> with a debug kernel gives more backtraces than information.
>>
>> Lots of "uma_zalloc_debug: ... with 1 sleep inhibitors"
>>
>> Can we please fix this before putting more changes on top for the network stack?

That warning is definitely loud.
I'd started refactoring mcast to use netlink instead of sysctl, but that 
will take more time.
For now, here's a patch addressing the epoch lock for now, but this only 
reduces amount of warning, not fixing them: D56052

The real fix will be using netlink instead of sysctl which wires 
user-space memory under various locks beside vslock.

>> I am also still seeing a similar warning with rtsol still:
>>
>> # rtsol wlan0
>> Invoking IPv6 network device address event may sleep with 1 sleep inhibitors

I'll fix this as well.
It requires removing callout_drain in two different parts of in6.

-- 
Pouria