[Click] userlevel performance

Eddie Kohler kohler at cs.ucla.edu
Wed Nov 17 11:24:37 EST 2010


Hey Beyers,

On 10/29/10 5:02 PM, Beyers Cronje wrote:
> One last thing, the patch I just mailed to the list fixes an issue where
> "SNIFFER false" was not honored and you ended up in sniffer mode, which
> might affect performance.

I'm sorry, I am just trying to process my email, and I can't actually 
find this patch anywhere!  Has it been applied?

Eddie


>
> Beyers
>
>
>
> On Fri, Oct 29, 2010 at 1:37 AM, Roman Chertov<rchertov at cs.ucsb.edu>  wrote:
>
>> On Thu, 28 Oct 2010 13:58:50 -0700 Cliff Frey<cliff at meraki.com>  wrote
>>
>>> I don't have a setup that I can easily/quickly use to test.  All the
>> same,
>>> I'm curious what the interface statistics do during this time on both of
>> the
>>> interfaces (i.e. any errors?  how many packets transmitted/received)
>>
>> [local]# click test2.click -h ctr1.count -h ctr2.count -h fd.count -h
>> fd.kernel_drops
>> ctr1.count:
>> 100000
>>
>> ctr2.count:
>> 4503
>>
>> fd.count:
>> 0
>>
>> fd.kernel_drops:
>> ??
>>
>> ?? means that the number of kernel drops is unknown.
>>
>> [local]# ethtool -S eth2
>> NIC statistics:
>>      rx_packets: 9
>>      tx_packets: 100011
>>      rx_bytes: 2749
>>      tx_bytes: 150401691
>>
>> [local]# ethtool -S eth3
>> NIC statistics:
>>      rx_packets: 100004
>>      tx_packets: 17
>>      rx_bytes: 150400641
>>      tx_bytes: 3429
>>
>> According to ethtool, all of the 100000 packets were sent and received w/o
>> issues (the extra packets are due to IPv6 when the interfaces came on).
>>
>> So it looks like that problem is somewhere between Linux and Click getting
>> the
>> packets to ToDevice.  I am curious what results Bejers will get.
>>
>> Roman
>>
>>>
>>> Also, I'm curious what was going on inside of ToDevice and FromDevice.
>>   The
>>> linuxmodule version of these elements have a bunch of counters (visible
>>> through the "calls" handler), it would be cool if the userlevel versions
>> had
>>> these things too (i.e. run_select_count, packets for both, write_errors,
>>> empty_pulls for ToDevice,  recvfrom_errors, recvfrom_eagains for
>> fromdevice)
>>>
>>> I doubt it, but you also might get different behavior if you add a Queue
>>> between the ratedsource and the todevice.
>>>
>>> Cliff
>>>
>>> On Thu, Oct 28, 2010 at 10:55 AM, Roman Chertov<rchertov at cs.ucsb.edu
>>> wrote:
>>>
>>>> Hello,
>>>>
>>>> I was curious if anybody could try this test for me using userlevel
>> click.
>>>>   I am
>>>> running CentOS 5.5 2.6.18-194.17.1.el5, and I have two network cards
>>>> connected
>>>> with a single cable.  If I run the script below using userlevel click,
>>>> FromDevice(eth3) will receive very few packets and the majority would
>> end
>>>> up
>>>> dropped on input.
>>>>
>>>> src :: RatedSource(\<00>, LENGTH 1458, RATE 8000, LIMIT 100000)
>>>>     ->  UDPIPEncap(10.0.1.1, 6667, 20.0.0.2, 6667)
>>>>     ->  EtherEncap(0x0800, 00:30:48:F9:EA:7B, 00:17:cb:0d:f8:db)
>>>>     ->  ctr1 :: AverageCounter
>>>>     ->  ToDevice(eth2);
>>>>
>>>>
>>>> fd :: FromDevice(eth3, SNIFFER false, PROMISC true)
>>>>    ->  ctr2 :: AverageCounter
>>>>    ->  Discard;
>>>>
>>>> This script just requires ethX names to be changed; otherwise, it can
>> be
>>>> run as
>>>> is.
>>>>
>>>> [root]# click test2.click -h ctr1.count -h ctr2.count
>>>> ctr1.count:
>>>> 100000
>>>>
>>>> ctr2.count:
>>>> 4482
>>>>
>>>> Roman
>>>>
>>>>
>>>> _______________________________________________
>>>> 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