From patchwork Fri Aug 24 09:04:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 144993 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp1052535ljw; Fri, 24 Aug 2018 02:04:57 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdbaii4w9guBa2hB3r0SSXa5SxtrO5QygNS5Dh+b7z2AEG/tmQLcsNz5D9wSLLT8z0Gq74E3 X-Received: by 2002:a63:2106:: with SMTP id h6-v6mr818036pgh.161.1535101497432; Fri, 24 Aug 2018 02:04:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535101497; cv=none; d=google.com; s=arc-20160816; b=GxG/6S9F2m/yUbHb/0AuJHDJ5tq77OaBzyQWlivzp5NAutspNiH6rLhCEyIlNR25Ej KqFZ3azNfJyoJFtqXZUdsFTPuVjfIMEL84T0V3x1Wm7O7dAavMd0JENyB/tmrPlBY292 SprfbJu1NZdX0AmfFqqIoCPYkObxYAHnWaIKL632gjvsyQQXw8b1Jc0ZgsP3b87sGBFo +3O0WHR4ViPOkXS1RBvRFRquoDGe2Vuc72O2mlDoPx1BaoW6+TLMTs6YpxYMGog44M2C zS+jyzUJZ3PvKQyVwezfxpYXgHX6R7t1pNJg+jtmspFPPB17NnYSSCQu0DaOedaM/uVm lXlw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=z4ffCXzbbDJPOq/rb6uuve93foFOxyU52TMljzPih58=; b=0HhTkXBClqL4J22gAJ1ePo6I2UbTRrJBhZMoLorlD77n1LBxV58Idkn8SR5jV8bK8W nW+ea1NjPdSOplnNmEv/bZGKgTwgJKyFHQ1a+e8oXjRezD+um2DsVeFEzSw4eUyF+KDl lPPNtGGz0sgpfO+pOKc3M43X+s3fkqznBBgEut1KqyAcuhqZeRiAjkDsi+LRJkayBIoB MYHwgipdZ7Tu7qvrr5lLb3WLw3DxGGfKEwZo0jG6iutlKLNfm+ksFYzWZFEM4Dcf1tMi gQ2yG49CqRvH8Edmf+sweG6+lVMTeDL20Jpyn2KdtC67pusJE3my+PnKTktSRO6R3Oel x0KQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=k8MPpSHj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c5-v6si6237501pgk.327.2018.08.24.02.04.57; Fri, 24 Aug 2018 02:04:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=k8MPpSHj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727105AbeHXMig (ORCPT + 32 others); Fri, 24 Aug 2018 08:38:36 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:43859 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726686AbeHXMig (ORCPT ); Fri, 24 Aug 2018 08:38:36 -0400 Received: by mail-wr1-f67.google.com with SMTP id k5-v6so6847293wre.10 for ; Fri, 24 Aug 2018 02:04:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=z4ffCXzbbDJPOq/rb6uuve93foFOxyU52TMljzPih58=; b=k8MPpSHj1ACjeQRBbx3gDxNVTKVbqx3BXo0cplaQiykDztOJ6CokFkInlg9y3SgXW+ O//r2kVi6extVZx2NS9yM50gABGlv+dg3mTsF+Lh3SGVxRNoTqQ1km13gGonLlPCZcH+ vhR1jvEQgaODkzTN8gN/6xOT0/zl1hAjvVIiYnIG2hShkPh4rWw8YadDTWSqlSStYpYF kO1ZZ25aoVxhB4ggfH/HSCCTwRwSAsvfUoXTVirm1na3mpd6Vaj88oXVLjuajpnM3NT0 WiBbiu02KMP3cEler9cW/Ju8XxeW2BPE0WGB2w1wR+GNSs1w8lZVLnH188tJ44xGfI34 BlHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=z4ffCXzbbDJPOq/rb6uuve93foFOxyU52TMljzPih58=; b=YFvFDn35zx/fsRWRjnaopkx6fG4PxYRRjCA91Gwvb3lgOFsWyPVk3+X6IOWHfHjz+R nB0LID/hK9OiY4VANaTrxL3qze8oWoVKKGJoLj3xlw5vFT0NsjnriV6bCwM7QFzG6nqd V9RO5KFcsrxb8HM0OQaxZ6ncIeWRUVX/RPXvrmg8WNlH0ri9TNRHdDd8ECKbsqIn7UjH REqnLkPz994AUk0RlWzlYBT9QnVV3JR1tOzf3D88V1tP4UR/9rrvaE+xg29u3NOAlz53 LcKSGCq7cT0MEL4kr00/WsRMyeressbImM93WMyo7rl+bR/6L2Ax/bO7X6sq7lTBu0N9 Rikg== X-Gm-Message-State: APzg51AjJcwYjP5DnrFinU2/xIOHfcSeMLMJxQV3mSj2Gj/iKyfR93qL vQbmEZUXN1tEI6IIyR81jAtZOg== X-Received: by 2002:adf:8325:: with SMTP id 34-v6mr633131wrd.67.1535101492843; Fri, 24 Aug 2018 02:04:52 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id h75-v6sm2690896wma.46.2018.08.24.02.04.51 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 24 Aug 2018 02:04:52 -0700 (PDT) From: Jerome Brunet To: Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu , netdev@vger.kernel.org Cc: Jerome Brunet , linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Joao Pinto , Vitor Soares , Corentin Labbe Subject: [PATCH] Revert "net: stmmac: Do not keep rearming the coalesce timer in stmmac_xmit" Date: Fri, 24 Aug 2018 11:04:40 +0200 Message-Id: <20180824090440.13411-1-jbrunet@baylibre.com> X-Mailer: git-send-email 2.17.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This reverts commit 4ae0169fd1b3c792b66be58995b7e6b629919ecf. This change in the handling of the coalesce timer is causing regression on (at least) amlogic platforms. Network will break down very quickly (a few seconds) after starting a download. This can easily be reproduced using iperf3 for example. The problem has been reported on the S805, S905, S912 and A113 SoCs (Realtek and Micrel PHYs) and it is likely impacting all Amlogics platforms using Gbit ethernet No problem was seen with the platform using 10/100 only PHYs (GXL internal) Reverting change brings things back to normal and allows to use network again until we better understand the problem with the coalesce timer. Cc: Jose Abreu Cc: Joao Pinto Cc: Vitor Soares Cc: Giuseppe Cavallaro Cc: Alexandre Torgue Cc: Corentin Labbe Signed-off-by: Jerome Brunet --- drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 - drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) -- 2.17.1 diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h index 76649adf8fb0..c0a855b7ab3b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h @@ -112,7 +112,6 @@ struct stmmac_priv { u32 tx_count_frames; u32 tx_coal_frames; u32 tx_coal_timer; - bool tx_timer_armed; int tx_coalesce; int hwts_tx_en; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index ff1ffb46198a..9f458bb16f2a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3147,16 +3147,13 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev) * element in case of no SG. */ priv->tx_count_frames += nfrags + 1; - if (likely(priv->tx_coal_frames > priv->tx_count_frames) && - !priv->tx_timer_armed) { + if (likely(priv->tx_coal_frames > priv->tx_count_frames)) { mod_timer(&priv->txtimer, STMMAC_COAL_TIMER(priv->tx_coal_timer)); - priv->tx_timer_armed = true; } else { priv->tx_count_frames = 0; stmmac_set_tx_ic(priv, desc); priv->xstats.tx_set_ic_bit++; - priv->tx_timer_armed = false; } skb_tx_timestamp(skb);