On Wed, 3 Oct 2001 kuznet@xxxxxxxxxxxxx wrote:
> Ingo, "polling" is wrong name. It does not poll. :-)
ok. i was also mislead by a quick hack in the source code :)
> Actually, this misnomer is the worst thing whic I worried about.
i think something like: 'offloading hardirq work into softirqs' covers the
concept better, right?
> Citing my old explanation:
> > "Polling" is not a real polling in fact, it just accepts irqs as
> > events waking rx softirq with blocking subsequent irqs.
> > Actual receive happens at softirq.
> > Seems, this approach solves the worst half of livelock problem
> > completely: irqs are throttled and tuned to load automatically.
> > Well, and drivers become cleaner.
i like this approach very much, and indeed this is not polling in any way.
i'm worried by the dev->quota variable a bit. As visible now in the
2.4.10-poll.pat and tulip-NAPI-010910.tar.gz code, it keeps calling the
->poll() function until dev->quota is gone. I think it should only keep
calling the function until the rx ring is fully processed - and it should
re-enable the receiver afterwards, when exiting net_rx_action.