Subject: Re: [PATCH] ifb: add multi-queue support

From: Stephen Hemminger <[email-masked]>
Date: Fri, 13 Nov 2009 15:32:29 -0800

On Sat, 14 Nov 2009 07:28:42 +0800
Changli Gao <[email-masked]> wrote:

> On Sat, Nov 14, 2009 at 12:15 AM, Stephen Hemminger
> <[email-masked]> wrote:
> > On Fri, 13 Nov 2009 17:38:56 +0800
> > Changli Gao <[email-masked]> wrote:
> >>
> >> Oh, :) . I know more than one companies use kernel threads to forward
> >> packets, and there isn't explicit extra overhead at all. And as you
> >> know, as throughput increases, NAPI will bind the NIC to a CPU, and
> >> softirqd will be waked up to do the work, which should be done in
> >> SoftIRQ context. At that time, there isn't any difference between my
> >> approach and the current kernel's.
> >>
> > Why not make IFB a NAPI device. This would get rid of the extra soft-irq
> > round trip from going through netif_rx().  It would also behave like
> > regular multi-queue recieive device, and eliminate need for seperate
> > tasklets or threads.
> >
> 
> It needs to send remote SoftIRQ, as Receiving Packet Steering, and we
> must support a extra interface to map load to CPUs.
> 

But it still could use NAPI to avoid causing excess packet overhead.
The softirq could be equivalent of hardirq in network device.

--