netdev
[Top] [All Lists]

Re: [announce] [patch] limiting IRQ load, irq-rewrite-2.4.11-B5

To: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>
Subject: Re: [announce] [patch] limiting IRQ load, irq-rewrite-2.4.11-B5
From: Ingo Molnar <mingo@xxxxxxx>
Date: Wed, 3 Oct 2001 19:06:26 +0200 (CEST)
Cc: <hadi@xxxxxxxxxx>, <linux-kernel@xxxxxxxxxxxxxxx>, <Robert.Olsson@xxxxxxxxxxx>, <bcrl@xxxxxxxxxx>, <netdev@xxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxx>, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
In-reply-to: <200110031653.UAA13938@xxxxxxxxxxxxx>
Reply-to: <mingo@xxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
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.

        Ingo


<Prev in Thread] Current Thread [Next in Thread>