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

2012-08-29 Thread Lev Serebryakov
Hello, Andrey.
You wrote 29 августа 2012 г., 11:17:09:

AZ> If you have more than one CPU, you can try this patch [1].  It adds
  I  have  only  one  cput  (Geode LX 500 Mhz) without any HT or other
"virtual" CPUs at all. One core, one thread :)

-- 
// Black Lion AKA Lev Serebryakov 

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2012-08-29 Thread Andrey Zonov
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



signature.asc
Description: OpenPGP digital signature


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

2012-08-28 Thread John Baldwin
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.

-- 
John Baldwin
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2012-08-27 Thread Lev Serebryakov
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.


-- 
// Black Lion AKA Lev Serebryakov 

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2012-08-27 Thread John Baldwin
On Monday, August 27, 2012 8:46:46 am Lev Serebryakov wrote:
> Hello, Lev.
> You wrote 27 августа 2012 г., 6:19:57:
> 
>  I've found (with help of debug printing added to kernel), that "swi5"
> has only one handler "Fast task queue" (name is too long to be seen in
> `top' output, may be, rename it to "fast tqueue"?)
> 
>  What "fast tasks" are performed via this queue? Under network load it
> is main consumer of CPU.

Certain NIC drivers perform much of their interrupt handling in that thread.

-- 
John Baldwin
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


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

2012-08-27 Thread Lev Serebryakov
Hello, Lev.
You wrote 27 августа 2012 г., 6:19:57:

 I've found (with help of debug printing added to kernel), that "swi5"
has only one handler "Fast task queue" (name is too long to be seen in
`top' output, may be, rename it to "fast tqueue"?)

 What "fast tasks" are performed via this queue? Under network load it
is main consumer of CPU.


-- 
// Black Lion AKA Lev Serebryakov 

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"