Re: What is "Fast task queue"? (Was: How to understand what `swi5' kernel thread does?)

From: Andrey Zonov <zont_at_FreeBSD.org>
Date: Wed, 29 Aug 2012 11:17:09 +0400
On 8/28/12 3:44 PM, John Baldwin wrote:
> On Monday, August 27, 2012 4:47:13 pm Lev Serebryakov wrote:
>> Hello, John.
>> You wrote 27 августа 2012 г., 20:26:03:
>>
>>>>  What "fast tasks" are performed via this queue? Under network load it
>>>> is main consumer of CPU.
>> JB> Certain NIC drivers perform much of their interrupt handling in that 
> thread.
>>   Yep,  I've found, that my if_vr uses it. One more question: does ipfw
>>  rules works in same thread? I have ``net.isr.dispatch="direct"'' set.
> 
> Yes, with the default setting of direct dispatch, all of the receive
> side of the network stack runs in the driver's interrupt handler.  In
> the case of vr(4) that would be in this thread.
> 

Lev,

If you have more than one CPU, you can try this patch [1].  It adds
flowid in mbufs and makes possible to use multiple netisr threads.
Apply the patch and put in your loader.conf the following:

net.isr.maxthreads=$ncpu (2, 4 or whatever you want)
net.isr.dispatch=deferred

PS: original patch was written by melifaro.

[1] http://people.freebsd.org/~zont/netisr.patch

-- 
Andrey Zonov


Received on Wed Aug 29 2012 - 05:17:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:30 UTC