From patchwork Fri Aug 11 22:36:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Born X-Patchwork-Id: 800770 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlemail.com header.i=@googlemail.com header.b="nVlD0lPo"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3xTfyQ4FGCz9t16 for ; Sat, 12 Aug 2017 08:37:18 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753845AbdHKWhQ (ORCPT ); Fri, 11 Aug 2017 18:37:16 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:36906 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753659AbdHKWhP (ORCPT ); Fri, 11 Aug 2017 18:37:15 -0400 Received: by mail-wr0-f195.google.com with SMTP id f38so3359174wrf.4 for ; Fri, 11 Aug 2017 15:37:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=G+6QuHojIoigFS/fOUbcJuR+KNjc9LW9CaIT9hA+Xo0=; b=nVlD0lPoG2Ks3Ux/vK6VpfeE2oCqjDtd8m++OIXZLEzcE8WlNVf+1G1Fu+Bc0OU8F3 Mv6mPvDpfRUMjstyAo+OlUnOhySREV80eLj191CB0JhtWfb622lLR3sSZvW0ZLDz3L6g orQ/gDmTnpRLJ6KFIMnmqHNhZMCtOav1W+mT/BAwVMu+nPybdV6dFWL2PUX8MrU8LzC3 bqdZivgDevfAJuVqtqgl9tSU0oRe5O/FlKFcYPQu8XX/vdyP0zDKvhtVnBsFXDR5aA3w cM/b2AUXjpI8uVyUg5uvUZ0P+nueN24RVS/4PVvSNwdHvoP+GBp3/dkT0jBurltWhKrc +RdA== 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=G+6QuHojIoigFS/fOUbcJuR+KNjc9LW9CaIT9hA+Xo0=; b=YJVj1wXnuH6NhA8Ya7e36bG6F1g4UKlCP1GY16Zz8MI8DxA8egqLX9DzrgFMfpFEIn yZhTZK6PK+G7dwjmFWX8MSm4+hU7sHHhrKl25jdsJMJnFip2pghGFt667Q9yC08L8ewj K6LDVdawVH+sBHEacq5uFWe/t6ZQzG8daBY1N7XlqDBv9pmdFm6k4ummuMZb864mKgGg FMCA+Ef4BiXJXWTRgFGPS1ZJZadMmwuCQbmyuXvbTSRKq5bCDEvCf9C7pmXBlblxnW/7 QdnmfqSLqvSKjAri8ncFVPihMLgBmyZpvHp71Q+qxzdXpOsSliBiM2M3ftkTQ+JAMsxg ACSA== X-Gm-Message-State: AHYfb5jteC1e+x/PBAPyeN4a/ID1UD3tHsCWjhdB8CSyQ2kEIkF2J6Vq JQCbWCsfK3dpPq8LwMs= X-Received: by 10.223.132.100 with SMTP id 91mr12746183wrf.187.1502491034191; Fri, 11 Aug 2017 15:37:14 -0700 (PDT) Received: from naali.uni-muenchen.de (p200300CFABC40B00716D5AE119A02A0F.dip0.t-ipconnect.de. [2003:cf:abc4:b00:716d:5ae1:19a0:2a0f]) by smtp.gmail.com with ESMTPSA id v44sm3545928wrb.53.2017.08.11.15.37.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 11 Aug 2017 15:37:13 -0700 (PDT) From: Andreas Born To: netdev@vger.kernel.org Cc: Joe Perches , David Miller , Andreas Born Subject: [PATCH v2] bonding: ratelimit failed speed/duplex update warning Date: Sat, 12 Aug 2017 00:36:55 +0200 Message-Id: <20170811223655.11446-1-futur.andy@googlemail.com> X-Mailer: git-send-email 2.14.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org bond_miimon_commit() handles the UP transition for each slave of a bond in the case of MII. It is triggered 10 times per second for the default MII Polling interval of 100ms. For device drivers that do not implement __ethtool_get_link_ksettings() the call to bond_update_speed_duplex() fails persistently while the MII status could remain UP. That is, in this and other cases where the speed/duplex update keeps failing over a longer period of time while the MII state is UP, a warning is printed every MII polling interval. To address these excessive warnings net_ratelimit() should be used. Printing a warning once would not be sufficient since the call to bond_update_speed_duplex() could recover to succeed and fail again later. In that case there would be no new indication what went wrong. Fixes: b5bf0f5b16b9c (bonding: correctly update link status during mii-commit phase) Signed-off-by: Andreas Born --- Changes in v2: * swapped pr_warn_ratelimited() for net_ratelimit() drivers/net/bonding/bond_main.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 85bb272d2a34..fc63992ab0e0 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -2144,9 +2144,10 @@ static void bond_miimon_commit(struct bonding *bond) if (bond_update_speed_duplex(slave) && bond_needs_speed_duplex(bond)) { slave->link = BOND_LINK_DOWN; - netdev_warn(bond->dev, - "failed to get link speed/duplex for %s\n", - slave->dev->name); + if (net_ratelimit()) + netdev_warn(bond->dev, + "failed to get link speed/duplex for %s\n", + slave->dev->name); continue; } bond_set_slave_link_state(slave, BOND_LINK_UP,