From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Taht Subject: Re: [PATCH v1 6/7] net: mvneta: Don't use GRO on Armada 3720 Date: Wed, 8 Aug 2018 10:57:45 -0700 Message-ID: References: <20180808152706.21727-1-marek.behun@nic.cz> <20180808152706.21727-7-marek.behun@nic.cz> <20180808165846.GK7275@lunn.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: marek.behun@nic.cz, linux-arm-kernel@lists.infradead.org, Linux Kernel Network Developers , gregory.clement@bootlin.com, tomas.hlavacek@nic.cz, linux@armlinux.org.uk To: Andrew Lunn Return-path: Received: from mail-qt0-f180.google.com ([209.85.216.180]:41079 "EHLO mail-qt0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727748AbeHHUR0 (ORCPT ); Wed, 8 Aug 2018 16:17:26 -0400 Received: by mail-qt0-f180.google.com with SMTP id e19-v6so3434370qtp.8 for ; Wed, 08 Aug 2018 10:56:39 -0700 (PDT) In-Reply-To: <20180808165846.GK7275@lunn.ch> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Aug 8, 2018 at 10:00 AM Andrew Lunn wrote: > > On Wed, Aug 08, 2018 at 05:27:05PM +0200, Marek Beh=C3=BAn wrote: > > For some reason on Armada 3720 boards (EspressoBin and Turris Mox) the > > networking driver behaves weirdly when using napi_gro_receive. > > > > For example downloading a big file from a local network (low ping) is > > fast, but when downloading from a remote server (higher ping), the > > download speed is at first high but drops rapidly to almost nothing or > > absolutely nothing. > > > > This is fixed when using netif_receive_skb instead of napi_gro_receive. > > Before doing this, we should really understand what is going on. It is > probably just a driver bug which needs fixing. And GRO should be good > for performance, so we do want to use it, if possible. I'd just disable it and worry about it later. The software gro in the mvneta would batch up 64k and is one of the reasons why sch_cake does gso splitting by default. (64k unsplit, downshifted to 1mbit =3D ~540ms of latency). If this mvneta facility is in addition buggy, that explains some puzzling things I've seen in various benchmarks. thx for the steer as to what to look for! IMHO: in general gro looks good on dumb single stream benchmarks, not as useful on mixed routed traffic with more entropy, and batching clutters up the mvneta receive path that otherwise could be draining the rx ring and spitting packets into the rest of the system faster. The mvneta is mostly (?) used on routing devices. > > Andrew --=20 Dave T=C3=A4ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619 From mboxrd@z Thu Jan 1 00:00:00 1970 From: dave.taht@gmail.com (Dave Taht) Date: Wed, 8 Aug 2018 10:57:45 -0700 Subject: [PATCH v1 6/7] net: mvneta: Don't use GRO on Armada 3720 In-Reply-To: <20180808165846.GK7275@lunn.ch> References: <20180808152706.21727-1-marek.behun@nic.cz> <20180808152706.21727-7-marek.behun@nic.cz> <20180808165846.GK7275@lunn.ch> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Aug 8, 2018 at 10:00 AM Andrew Lunn wrote: > > On Wed, Aug 08, 2018 at 05:27:05PM +0200, Marek Beh?n wrote: > > For some reason on Armada 3720 boards (EspressoBin and Turris Mox) the > > networking driver behaves weirdly when using napi_gro_receive. > > > > For example downloading a big file from a local network (low ping) is > > fast, but when downloading from a remote server (higher ping), the > > download speed is at first high but drops rapidly to almost nothing or > > absolutely nothing. > > > > This is fixed when using netif_receive_skb instead of napi_gro_receive. > > Before doing this, we should really understand what is going on. It is > probably just a driver bug which needs fixing. And GRO should be good > for performance, so we do want to use it, if possible. I'd just disable it and worry about it later. The software gro in the mvneta would batch up 64k and is one of the reasons why sch_cake does gso splitting by default. (64k unsplit, downshifted to 1mbit = ~540ms of latency). If this mvneta facility is in addition buggy, that explains some puzzling things I've seen in various benchmarks. thx for the steer as to what to look for! IMHO: in general gro looks good on dumb single stream benchmarks, not as useful on mixed routed traffic with more entropy, and batching clutters up the mvneta receive path that otherwise could be draining the rx ring and spitting packets into the rest of the system faster. The mvneta is mostly (?) used on routing devices. > > Andrew -- Dave T?ht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619