[Click] About queues scheduling

Cliff Frey cliff at meraki.com
Tue May 10 12:16:08 EDT 2011


Well, if you wanted another way of doing it, you could change KernelTun to
have a task, and have selected() schedule the task, and have the task go to
sleep+register the select when it receives an EAGAIN.  But maybe the BURST
option is good enough for you, I'm not sure.

Cliff

On Tue, May 10, 2011 at 2:36 AM, Roberto Riggio <
roberto.riggio at create-net.org> wrote:

>  Il 22/04/2011 18:22, Cliff Frey ha scritto:
>
>
> On Fri, Apr 22, 2011 at 12:59 AM, Roberto Riggio <
> roberto.riggio at create-net.org> wrote:
>
>> Il 22/04/2011 09:31, Cliff Frey ha scritto:
>>
>>  Oh yes, sorry for misunderstanding.
>>>
>>> We actually had issues with KernelTun.  We ended up adding a BURST
>>> parameter to it.  There are weird interactions between selected() and tasks
>>> where selected() does not get called as often as one might hope.  You could
>>> also try changing the _tasks_per_iter to be much much lower (like 2) and see
>>> if it helps...
>>>
>>
>>   I did try to implement this and it does work as expected, still after
> pulling N packets (e.g. 10)
> click tries pulling from the queue until the queue goes to sleep. Only the
> the kerneltun
> element seems scheduled again.
>
> R.
>


More information about the click mailing list