From patchwork Thu Aug 9 02:20:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Marek_Beh=C3=BAn?= X-Patchwork-Id: 10560809 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 488C0157B for ; Thu, 9 Aug 2018 02:22:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 30C4A2AB2B for ; Thu, 9 Aug 2018 02:22:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 250992AD70; Thu, 9 Aug 2018 02:22:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id CC77D2AB2B for ; Thu, 9 Aug 2018 02:22:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:References: In-Reply-To:Message-Id:Date:Subject:To:From:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=9fEg7Crz5O3quxi8XCdS7F9bG/hVGjgWDaslOUV/xq0=; b=i0xioBQAYujd/Le6mYyV+DYksX UeeyP330YSKVAq2GYRK3pfhJcH6USzDqHg4KiJPVu4Qmy4JAi58CK+o53r9/JA4CmSTuGf7jsB022 7aNTZ42W19Ghm8wiPWyv7PsGk/i+qWr671ZFmt+KmmvaUEe0Y0sXyVAnYO0omGFkVxa+yh4mcvHFe ECykmrvFbCyps8iT0XOhyyoe1z5djzd3heZL4N/KI/UmBb5/YgQvu5+SIKugidYW1ltzEF7ABeqqc 5WYm2r52ath2M2N0/t3kA31lPTFU2rQXmhEmcV2mQan2wxPN35g+UTX1P1W2lzR9yGPLgNy4xCx6B zQ/TpR/g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1fnab0-0001x2-Oh; Thu, 09 Aug 2018 02:22:38 +0000 Received: from mail.nic.cz ([2001:1488:800:400::400]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fnaa8-0000c5-9u for linux-arm-kernel@lists.infradead.org; Thu, 09 Aug 2018 02:21:48 +0000 Received: from dellmb.labs.office.nic.cz (unknown [IPv6:2001:1488:fffe:6:cac7:3539:7f1f:463]) by mail.nic.cz (Postfix) with ESMTP id 4C80D621DC; Thu, 9 Aug 2018 04:21:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1533781279; bh=QaQBH0ZvFz7To+OTIZ9n8a84pz5wenNTZBJMn3/0/kA=; h=From:To:Date; b=Z2Fv0/YnCnWbUHWurWyKsg2YjiDk/cm+ro01Qvd8kt0x/aZs2QgFa/NMSTYmWu6HM UUvNOrZ46xTIJcqBVLyKLLt4vcksfZHNOHmFkVkY0waA/7G6N4np4PcaV4+UVM5YY+ F5iKvAUPUUsu7s3ZSjnGzcUSpxmYuKAiOqf1ZASU= From: =?utf-8?q?Marek_Beh=C3=BAn?= To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 6/7] net: mvneta: Don't use GRO on Armada 3720 Date: Thu, 9 Aug 2018 04:20:36 +0200 Message-Id: <20180809022037.12001-7-marek.behun@nic.cz> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20180809022037.12001-1-marek.behun@nic.cz> References: <20180809022037.12001-1-marek.behun@nic.cz> X-Virus-Scanned: clamav-milter 0.99.2 at mail X-Virus-Status: Clean X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20180808_192145_090175_31B6E880 X-CRM114-Status: GOOD ( 10.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Marek_Beh=C3=BAn?= MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP 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. Signed-off-by: Marek Behun --- drivers/net/ethernet/marvell/mvneta.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 0ad2f3f7da85..27f3017d94c5 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -1959,7 +1959,10 @@ static int mvneta_rx_swbm(struct mvneta_port *pp, int rx_todo, skb->protocol = eth_type_trans(skb, dev); mvneta_rx_csum(pp, rx_status, skb); - napi_gro_receive(&port->napi, skb); + if (pp->neta_armada3700) + netif_receive_skb(skb); + else + napi_gro_receive(&port->napi, skb); rcvd_pkts++; rcvd_bytes += rx_bytes; @@ -2001,7 +2004,10 @@ static int mvneta_rx_swbm(struct mvneta_port *pp, int rx_todo, mvneta_rx_csum(pp, rx_status, skb); - napi_gro_receive(&port->napi, skb); + if (pp->neta_armada3700) + netif_receive_skb(skb); + else + napi_gro_receive(&port->napi, skb); } if (rcvd_pkts) {