[Click] [RFC] [PATCH] PollDevice/ToDevice improvement

Joonwoo Park joonwpark81 at gmail.com
Wed Nov 14 20:11:26 EST 2007


Hi Kevin,

2007/11/15, springbo at cs.wisc.edu <springbo at cs.wisc.edu>:
> Hi Joonwoo,
>
> Outstanding idea! Thanks for sharing your hard work.

It my pleasure, click is a lovely project :)

>
> I attempted to use the patch on a Core2 machine with an Intel(R) PRO/1000 PT
> Dual Port Server Adapter (82571GB). The patch did not work with my
> controller. Shortly after starting click the machine hung with an invalid
> opcode Oops (no trace). I assume due to controller differences.

That's bad, I'll try fix that problem.
I'll be pleased if I find a adapter which is same one of yours.

>
> NAPI drivers would be a big benefit for us. So much so that as soon as I
> find time I'm going to try to do something similar for the 82571GB
> controller. It would be very helpful if you could get me started by
> pointing me to a few sections of the code where you think these
> unsupported operations might be.
>
>
> I'm not sure what your plans are for these patches, but a couple of minor
> nitpicks:
> -Line 4081 [adapter->poll_intr(netdev, (void*)flags);] in e1000_main.c
> gave a warning on a x86_64 machine.

Thanks!, I missed.

> -The value of netdev->polling now has meaning beyond simply being <0, 0,
> >0. It might be helpful if you used constants for the positive values
> (maybe POLLING_INTERRUPTS, POLLING_NO_INTERRUPTS)

INTERRUPT 0 (default) means old busy spinning methold.
INTERRUPT1 means new method of mine.

Here is an example.
pd::PollDevice(eth0, INTERRUPT 1)


> -Along the same lines you might update the documentation about the meaning
> of net_device->polling in netdevice.h.
>

INTERRUPT 0 makes polling to 2, and 1 makes it to 3.


Thanks so much for your help.

joonwpark.tistory.com
Joonwoo


More information about the click mailing list