[Click] Getting polling to work

Adam Greenhalgh a.greenhalgh at cs.ucl.ac.uk
Sun Jan 20 13:04:03 EST 2008


Hi Lucian,

See comments inline.

On 18/01/2008, Lucian Popa <popa at cs.berkeley.edu> wrote:
> Hi,
>
> I'm using click on some machines that have two types of gigabit ethernet
> interfaces:
> Broadcom Corporation NetXtreme BCM5715 Gigabit Ethernet
> and
> nVidia Corporation MCP55 Ethernet (also Gigabit)
>
> Is there a way to get polling to work for them?

You'd have to patch the driver.

> Are all results that people post using Intel's e1000?

Yes most people are using the e1000 driver because a patch has been
written and maintained for it over the years. It wouldn't be difficult
to patch another driver based on the one for the e1000. We have
certainly just opted to buy e1000 based cards to prevent us having to
port the driver. Recently there was a post to the mailing list about
adding NAPI support to the e1000 driver. You may wish to modify the
drivers for your cards to take the NAPI approach rather than a full
polling driver. It was reported that the NAPI approach didn't have the
performance of the pure polling driver so you may wish to consider the
requirements of your application as to whether you need polling or
not.

>
> I get throughputs of 120-200k packets/s (using 84Byte packets) with
> FromDevice ... is this common? do you what would be an upper bound?
>
> Thanks a lot.
>
> PS. also click causes a kernel panic on high throughputs for longer
> periods (over 10M packets) ... it is a SMP problem for which I did not
> get much data cause I'm logging in remotely and syslog does not show it,
> though I get it also without multithreading support so I guess it is
> probably not from click but from the eth driver
>
There have been some recent fixes to click that have improved
stability, you should check out a very recent git tree and try that.
>
>PS2. Also, with multithreading or not the results are the same
>
The locking required to facilitate multithreading does have an impact
on performance, you need to have a configuration that lends itself to
being parallelised for you too see a benefit.

Adam


More information about the click mailing list