[Click] FromDevice (OS-X) buffering up packets...

Eddie Kohler kohler at cs.ucla.edu
Thu Jul 7 11:35:41 EDT 2011


I finally, finally understood and fixed this problem.  FromDevice was not 
#including the file that defined the BIOCIMMEDIATE flag.  That flag is 
important on Mac.

Eddie


On 7/20/10 11:01 AM, Nicholas Weaver wrote:
> This case however its not from the NIC FIFO, as a TCPdump running on the same interface at the same time doesn't experience the many second queuing delay.
>
> On Jul 20, 2010, at 10:57 AM, Giorgio Calarco wrote:
>
>> hi all,
>>
>> having bursts of packets and increased jitter does not only depends on
>> the Click itself, but also from the queueing at the NIC FIFO. The PCI
>> bus is indeed fair (in the sense that it serves each peripheral
>> with a token passing policy), but once the peripheral acquires
>> access onto the bus, it's not time-limited in any way. If the bus
>> occupancy probability is high, for any reason, the NICs tend to accumulate
>> packets in their internal FIFO and once they can start the DMA
>> transfer, they move all the packets back-to-back, generating
>> a burst. I 'm not sure if this is your case (which hardware are you using ?
>> could the bus possibly be close to saturation ?),
>> anyway, you can find more details in one of the second (?) chapther
>> of my past PhD
>> thesis (it's published on the Click site - Publications).
>> Hope it can help in some way.
>>
>> Ciao, Giorgio
>>
>> On Tue, Jul 20, 2010 at 6:55 PM,<rchertov at cs.ucsb.edu>  wrote:
>>> On 5:25 pm 07/19/10<rchertov at cs.ucsb.edu>  wrote:
>>>> I am seeing similar behavior on Linux as well.  In my case, I carry some
>>>
>>> Just wanted to state that the behavior on Linux is similar but not as bad
>>> as Nick is reporting for OSX.  I get about 20ms worth of extra jitter by
>>> using the To/FromDevice compared to sending the data via the RawSocket.
>>>
>>>> data between two PCs which run user-level click.  If I use RawSocket
>>>> element, I get much better performance compared to using To/FromDevice
>>>> and manually composing the frames.
>>>>
>>>>
>>>> On 10:42 am 07/19/10 Nicholas Weaver<nweaver at icsi.berkeley.edu>  wrote:
>>>>> The test configuration:
>>>>>
>>>>> FromDevice(en0, PROMISC true) ->  CheckIPHeader(14) ->
>>>>>             IPPrint('reply') ->  Discard;
>>>>>
>>>>>
>>>>> A TCPdump running at the same time gets all the packets as they are
>>>>> received, but the click configuration gets them in bursts (but the
>>>>> timestamps are right)
>>>>>
>>>>> On Jul 19, 2010, at 10:38 AM, Nicholas Weaver wrote:
>>>>>
>>>>>> I remember having a similar problem before and I don't remember what
>>>>>> the solution is...
>>>>>> On OS-X (latest version, latest devtools), FromDevice is buffering
>>>>>> up a large number of packets rather than receiving them in real
>>>>>> time. A TCPdump running at the same time does not have this problem.
>>>>>>
>>>>>>
>>>>>> Suggestions?
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> click mailing list
>>>>> click at amsterdam.lcs.mit.edu
>>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>>
>>>> _______________________________________________
>>>> click mailing list
>>>> click at amsterdam.lcs.mit.edu
>>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>> _______________________________________________
>>> click mailing list
>>> click at amsterdam.lcs.mit.edu
>>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>>
>>
>> _______________________________________________
>> click mailing list
>> click at amsterdam.lcs.mit.edu
>> https://amsterdam.lcs.mit.edu/mailman/listinfo/click
>>
>
>
> _______________________________________________
> click mailing list
> click at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/click


More information about the click mailing list