Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-13 Thread Jesper Dangaard Brouer
On Tue, 13 Sep 2016 08:58:30 -0700 Eric Dumazet wrote: > We also care about icache pressure, and GRO/TSO already provides > bundling where it is applicable, without adding insane complexity in > the stacks. Sorry, I cannot resist. The GRO code is really bad regarding

Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-13 Thread Eric Dumazet
On Tue, 2016-09-13 at 16:20 +0100, Edward Cree wrote: > On 12/09/16 11:15, Jesper Dangaard Brouer wrote: > > I'm reacting so loudly, because this is a mental model switch, that > > need to be applied to the full drivers RX path. Also for normal stack > > delivery of SKBs. As both Edward Cree[1]

Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-13 Thread Edward Cree
On 12/09/16 11:15, Jesper Dangaard Brouer wrote: > I'm reacting so loudly, because this is a mental model switch, that > need to be applied to the full drivers RX path. Also for normal stack > delivery of SKBs. As both Edward Cree[1] and I[2] have demonstrated, > there is between 10%-25% perf gain

Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Tom Herbert
On Mon, Sep 12, 2016 at 3:15 AM, Jesper Dangaard Brouer wrote: > On Fri, 9 Sep 2016 18:03:09 +0300 > Saeed Mahameed wrote: > >> On Fri, Sep 9, 2016 at 6:22 AM, Alexei Starovoitov via iovisor-dev >> wrote: >> > On Thu,

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Jesper Dangaard Brouer
On Mon, 12 Sep 2016 12:56:28 -0700 Alexei Starovoitov wrote: > On Mon, Sep 12, 2016 at 01:30:25PM +0200, Jesper Dangaard Brouer wrote: > > On Thu, 8 Sep 2016 23:30:50 -0700 > > Alexei Starovoitov wrote: > > > > > On Fri, Sep 09,

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Alexei Starovoitov
On Mon, Sep 12, 2016 at 01:30:25PM +0200, Jesper Dangaard Brouer wrote: > On Thu, 8 Sep 2016 23:30:50 -0700 > Alexei Starovoitov wrote: > > > On Fri, Sep 09, 2016 at 07:36:52AM +0200, Jesper Dangaard Brouer wrote: > [...] > > > Imagine you have packets intermixed

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Alexei Starovoitov
On Mon, Sep 12, 2016 at 10:56:55AM +0200, Jesper Dangaard Brouer wrote: > On Thu, 8 Sep 2016 23:30:50 -0700 > Alexei Starovoitov wrote: > > > On Fri, Sep 09, 2016 at 07:36:52AM +0200, Jesper Dangaard Brouer wrote: > > > > > Lets do bundling/bulking from the start!

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Jesper Dangaard Brouer
On Thu, 8 Sep 2016 23:30:50 -0700 Alexei Starovoitov wrote: > On Fri, Sep 09, 2016 at 07:36:52AM +0200, Jesper Dangaard Brouer wrote: [...] > > Imagine you have packets intermixed towards the stack and XDP_TX. > > Every time you call the stack code, then you flush

Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Jesper Dangaard Brouer
On Fri, 9 Sep 2016 18:03:09 +0300 Saeed Mahameed wrote: > On Fri, Sep 9, 2016 at 6:22 AM, Alexei Starovoitov via iovisor-dev > wrote: > > On Thu, Sep 08, 2016 at 10:11:47AM +0200, Jesper Dangaard Brouer wrote: > >> > >> I'm sorry but I

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-12 Thread Jesper Dangaard Brouer
On Thu, 8 Sep 2016 23:30:50 -0700 Alexei Starovoitov wrote: > On Fri, Sep 09, 2016 at 07:36:52AM +0200, Jesper Dangaard Brouer wrote: > > > > Lets do bundling/bulking from the start! > > > > > > mlx4 already does bulking and this proposed mlx5 set of patches >

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-09 Thread Tom Herbert
On Thu, Sep 8, 2016 at 10:36 PM, Jesper Dangaard Brouer wrote: > On Thu, 8 Sep 2016 20:22:04 -0700 > Alexei Starovoitov wrote: > >> On Thu, Sep 08, 2016 at 10:11:47AM +0200, Jesper Dangaard Brouer wrote: >> > >> > I'm sorry but I have a problem

Re: [iovisor-dev] README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-09 Thread Saeed Mahameed
On Fri, Sep 9, 2016 at 6:22 AM, Alexei Starovoitov via iovisor-dev wrote: > On Thu, Sep 08, 2016 at 10:11:47AM +0200, Jesper Dangaard Brouer wrote: >> >> I'm sorry but I have a problem with this patch! > > is it because the variable is called 'xdp_doorbell'? >

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-09 Thread Alexei Starovoitov
On Fri, Sep 09, 2016 at 07:36:52AM +0200, Jesper Dangaard Brouer wrote: > > > Lets do bundling/bulking from the start! > > > > mlx4 already does bulking and this proposed mlx5 set of patches > > does bulking as well. > > See nothing wrong about it. RX side processes the packets and > > when

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Jesper Dangaard Brouer
On Thu, 8 Sep 2016 20:22:04 -0700 Alexei Starovoitov wrote: > On Thu, Sep 08, 2016 at 10:11:47AM +0200, Jesper Dangaard Brouer wrote: > > > > I'm sorry but I have a problem with this patch! > > is it because the variable is called 'xdp_doorbell'? > Frankly I see

Re: README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Alexei Starovoitov
On Thu, Sep 08, 2016 at 10:11:47AM +0200, Jesper Dangaard Brouer wrote: > > I'm sorry but I have a problem with this patch! is it because the variable is called 'xdp_doorbell'? Frankly I see nothing scary in this patch. It extends existing code by adding a flag to ring doorbell or not. The end

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Eric Dumazet
On Thu, 2016-09-08 at 11:48 -0700, Rick Jones wrote: > With small packets and the "default" ring size for this NIC/driver > combination, is the BQL large enough that the ring fills before one hits > the BQL? It depends on how TX completion (NAPI handler) is implemented in the driver. Say how

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Rick Jones
On 09/08/2016 11:16 AM, Tom Herbert wrote: On Thu, Sep 8, 2016 at 10:19 AM, Jesper Dangaard Brouer wrote: On Thu, 8 Sep 2016 09:26:03 -0700 Tom Herbert wrote: Shouldn't qdisc bulk size be based on the BQL limit? What is the simple algorithm to apply

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Tom Herbert
On Thu, Sep 8, 2016 at 10:19 AM, Jesper Dangaard Brouer wrote: > On Thu, 8 Sep 2016 09:26:03 -0700 > Tom Herbert wrote: > >> On Wed, Sep 7, 2016 at 10:11 PM, Jesper Dangaard Brouer >> wrote: >> > >> > On Wed, 7 Sep 2016 20:21:24 -0700

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Jesper Dangaard Brouer
On Thu, 8 Sep 2016 09:26:03 -0700 Tom Herbert wrote: > On Wed, Sep 7, 2016 at 10:11 PM, Jesper Dangaard Brouer > wrote: > > > > On Wed, 7 Sep 2016 20:21:24 -0700 Tom Herbert wrote: > > > >> On Wed, Sep 7, 2016 at 7:58 PM, John

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Tom Herbert
On Wed, Sep 7, 2016 at 10:11 PM, Jesper Dangaard Brouer wrote: > > On Wed, 7 Sep 2016 20:21:24 -0700 Tom Herbert wrote: > >> On Wed, Sep 7, 2016 at 7:58 PM, John Fastabend >> wrote: >> > On 16-09-07 11:22 AM, Jesper Dangaard

README: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-08 Thread Jesper Dangaard Brouer
I'm sorry but I have a problem with this patch! Looking at this patch, I want to bring up a fundamental architectural concern with the development direction of XDP transmit. What you are trying to implement, with delaying the doorbell, is basically TX bulking for TX_XDP. Why not implement a

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Jesper Dangaard Brouer
On Wed, 7 Sep 2016 20:21:24 -0700 Tom Herbert wrote: > On Wed, Sep 7, 2016 at 7:58 PM, John Fastabend > wrote: > > On 16-09-07 11:22 AM, Jesper Dangaard Brouer wrote: > >> > >> On Wed, 7 Sep 2016 19:57:19 +0300 Saeed Mahameed > >>

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Tom Herbert
On Wed, Sep 7, 2016 at 7:58 PM, John Fastabend wrote: > On 16-09-07 11:22 AM, Jesper Dangaard Brouer wrote: >> >> On Wed, 7 Sep 2016 19:57:19 +0300 Saeed Mahameed >> wrote: >>> On Wed, Sep 7, 2016 at 6:32 PM, Eric Dumazet

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread John Fastabend
On 16-09-07 11:22 AM, Jesper Dangaard Brouer wrote: > > On Wed, 7 Sep 2016 19:57:19 +0300 Saeed Mahameed > wrote: >> On Wed, Sep 7, 2016 at 6:32 PM, Eric Dumazet wrote: >>> On Wed, 2016-09-07 at 18:08 +0300, Saeed Mahameed wrote: On

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Saeed Mahameed
On Wed, Sep 7, 2016 at 9:19 PM, Eric Dumazet wrote: > On Wed, 2016-09-07 at 19:57 +0300, Saeed Mahameed wrote: > >> Jesper has a similar Idea to make the qdisc think it is under >> pressure, when the device >> TX ring is idle most of the time, i think his idea can come in

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Jesper Dangaard Brouer
On Wed, 7 Sep 2016 19:57:19 +0300 Saeed Mahameed wrote: > On Wed, Sep 7, 2016 at 6:32 PM, Eric Dumazet wrote: > > On Wed, 2016-09-07 at 18:08 +0300, Saeed Mahameed wrote: > >> On Wed, Sep 7, 2016 at 5:41 PM, Eric Dumazet

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Eric Dumazet
On Wed, 2016-09-07 at 19:57 +0300, Saeed Mahameed wrote: > Jesper has a similar Idea to make the qdisc think it is under > pressure, when the device > TX ring is idle most of the time, i think his idea can come in handy here. > I am not fully involved in the details, maybe he can elaborate more.

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Saeed Mahameed
On Wed, Sep 7, 2016 at 6:32 PM, Eric Dumazet wrote: > On Wed, 2016-09-07 at 18:08 +0300, Saeed Mahameed wrote: >> On Wed, Sep 7, 2016 at 5:41 PM, Eric Dumazet wrote: >> > On Wed, 2016-09-07 at 15:42 +0300, Saeed Mahameed wrote: >> >> Previously we

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Eric Dumazet
On Wed, 2016-09-07 at 18:08 +0300, Saeed Mahameed wrote: > On Wed, Sep 7, 2016 at 5:41 PM, Eric Dumazet wrote: > > On Wed, 2016-09-07 at 15:42 +0300, Saeed Mahameed wrote: > >> Previously we rang XDP SQ doorbell on every forwarded XDP packet. > >> > >> Here we introduce a

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Saeed Mahameed
On Wed, Sep 7, 2016 at 5:41 PM, Eric Dumazet wrote: > On Wed, 2016-09-07 at 15:42 +0300, Saeed Mahameed wrote: >> Previously we rang XDP SQ doorbell on every forwarded XDP packet. >> >> Here we introduce a xmit more like mechanism that will queue up more >> than one packet

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Eric Dumazet
On Wed, 2016-09-07 at 15:42 +0300, Saeed Mahameed wrote: > Previously we rang XDP SQ doorbell on every forwarded XDP packet. > > Here we introduce a xmit more like mechanism that will queue up more > than one packet into SQ (up to RX napi budget) w/o notifying the hardware. > > Once RX napi

Re: [iovisor-dev] [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Saeed Mahameed
On Wed, Sep 7, 2016 at 4:44 PM, John Fastabend via iovisor-dev wrote: > On 16-09-07 05:42 AM, Saeed Mahameed wrote: >> Previously we rang XDP SQ doorbell on every forwarded XDP packet. >> >> Here we introduce a xmit more like mechanism that will queue up more >>

Re: [PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread John Fastabend
On 16-09-07 05:42 AM, Saeed Mahameed wrote: > Previously we rang XDP SQ doorbell on every forwarded XDP packet. > > Here we introduce a xmit more like mechanism that will queue up more > than one packet into SQ (up to RX napi budget) w/o notifying the hardware. > > Once RX napi budget is

[PATCH RFC 11/11] net/mlx5e: XDP TX xmit more

2016-09-07 Thread Saeed Mahameed
Previously we rang XDP SQ doorbell on every forwarded XDP packet. Here we introduce a xmit more like mechanism that will queue up more than one packet into SQ (up to RX napi budget) w/o notifying the hardware. Once RX napi budget is consumed and we exit napi RX loop, we will flush (doorbell) all