[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4B06244D.9060004@gmail.com>
Date: Fri, 20 Nov 2009 06:08:29 +0100
From: Eric Dumazet <eric.dumazet@...il.com>
To: Tom Herbert <therbert@...gle.com>
CC: "David S. Miller" <davem@...emloft.net>,
Linux Netdev List <netdev@...r.kernel.org>
Subject: Re: [PATCH net-next-2.6] net: Xmit Packet Steering (XPS)
Tom Herbert a écrit :
>
>
> On Thu, Nov 19, 2009 at 3:46 PM, Eric Dumazet <eric.dumazet@...il.com
> <mailto:eric.dumazet@...il.com>> wrote:
>
> Here is first version of XPS.
>
> Very cool! The infrastructure to move lists of skb's from cpu to
> another and the IPI to kick processing look like something that could be
> consolidated between rps and xps :-)
Sure, but RPS seems quite slow to integrate (no offense Tom) :)
I wanted to cook a patch on top on yours, but got no sign you were
about to release RPS version 4 soon.
>
> Goal of XPS is to free TX completed skbs by the cpu that submitted
> the transmit.
>
> Because I chose to union skb->iif with skb->sending_cpu, I chose
> to introduce a new xps_consume_skb(skb), and not generalize
> consume_skb() itself.
>
> This means that selected drivers must use new function to benefit
> from XPS
>
>
> Is this better than modifying consume_skb so this can be used by any driver?
consume_skb() is also used by RX side, and this side doesnt want XPS.
Adding a flag in skb to differentiate the use might be possible,
but we add a new test in hot paths...
>
>
>
>
> Preliminary tests are quite good, especially on NUMA machines.
>
> Only NAPI drivers can use this new infrastructure (xps_consume_skb()
> cannot
> be called from hardirq context, only from softirq)
>
> Is this a strict requirement, especially considering devices with
> separate TX interrupts? For a hardirq we could we just put the skb on
> local percpu queue and schedule a softirq to do the ipi.
I chose this way because any sane and up2date driver should really
not use hardirqs TX completion. I want fast processing, without
masking local interrupts in xps_consume_skb(), and wihout testing
our context.
Note : if TX completion and RX are run in different NAPI contexts,
there is no problem using xps_consume_skb().
Thanks for reviewing Tom.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists