From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0C0AA22A1E1 for ; Sat, 7 Feb 2026 02:57:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770433037; cv=none; b=UY2RItyUxJonnrKingI8PNahB30osrwci49iOVCl+6fuCnaVEcuelWkE34GUJ/QEZWiLwQTAz4vjkwjnuRNfA8R82dBH2U1uBEyWKVJE5xlo0LOEep04fNqZ/FuMJj/FtQGgh7+VfgdGGDz/kUKGpX6bwIJSv//Z3C2pKJifh1M= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770433037; c=relaxed/simple; bh=F75+iwxlRTLyIzKuJzJ+ID7DQ02GZVbuxnZkr4FlfjY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mGDZfwGDz/F8UhUSFAqN3bESZptUeyA0UDIN0TtK6X9ea8yDP9OScQp4cXTBVGHP9A6nKsEWmCWJZtwJfOf4dmrJP2eFWFUTDPCiOaceV1Wxh8gt4T7aFfU3ZJYHCTaZKcnZzNJkGI1E/6nvmDhB/bdc2OaLV56nRhHIpmjo98k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=OIt6/8SU; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="OIt6/8SU" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-43626796202so1858120f8f.3 for ; Fri, 06 Feb 2026 18:57:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770433035; x=1771037835; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nV2/pR09fRCKiwS6HhA3KDDNoxylvhh0vYo9VwjMiO8=; b=OIt6/8SUyXuH58tiM/6XHW8F27w+nWmLv1HVm7n73tqWuT47/1gj+0gufTEVVOSC3q IZubAqZC2e2REphLGPmirJCGfNCg3CTam5T4d4Q5iCMiEnwjpycnu04nFrpSrfB4SEiU nyE7IG377A9P/KdR24Ovb7lps342l6M7MC/FMG/5XW/Xoh4BPgs4wzscuhPxt/7b0D3g AiJzxuthST9NRmZRg5TYxMqjnf22aS0E/lzhgPR2nd4aKmR1jdqCfEW1RLbDbhWohENV yna8EUsF0g72iUpIowAUsxLqEGkOdzxKe+vXwyXq+xr9SihVpwBLzNH14jWMTxVkLQLh ffDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770433035; x=1771037835; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nV2/pR09fRCKiwS6HhA3KDDNoxylvhh0vYo9VwjMiO8=; b=lfakk+5NL/w0f/Jo89gOkNijTl1PudZfcHrkyogPtxhBBr/UoWz2Jjs0tArTVhqOA2 UyBYl4C5ay6R/AH7RDabpY4aarcF99Q9aLQUwfEajqFQcoFAgLNUSGctrw+oZMqvWUrY HCigFMiyjHHLApLDHwQs6jt0y8WsdReIdZbllNZ6KdTvDN6t1DJppmyrs/dtO/fuP9KO tVW8rvWsz5oXGC+7bMG6Qt9cBYecjTNbmSfkv+ZO097dF4V0zdZC+3jvQAPrRMIoht82 drOt/2SZkYTRNbFKxU0KfkVRN34ZIYTHgIgKuqxZz8qoq26Obzt/VrhIDJgyb1DUavsD Ox8w== X-Gm-Message-State: AOJu0YzaU2ccmRvI0tZ2p4x6jMMbwoTVeIFo0kj81lguXUx6JWgB8U9s Pd37xtT6HLDA5Ij2B+jqQwXxLDKASB49xsJRvZ9UAoLBrLFi9JKR8GUnwZ9JoUfm X-Gm-Gg: AZuq6aKr0Z/5+gdt7xk3cPdG7mNdrKTUp9X5EdHfComsCDMgCuz9zWcFdN+wqGueFdv jn3YsAyIzcT3rkNmUCKVSVbkd86xkClRpWuqAdzYlhJwVGpRDYSmJeuSTntvvmdu6fd2MZIezKK xCe059KS8elYw3rfntJxW5YZnFYfjdpMVWltX8JO3oe2LQg20D5t9MwTLAf7AWGiU6HLTFiVWS9 FS/1Vpe4hJUkBA1K5wBNUGzzsVBgsPbzWPKoL63BYCE7vRn1qSDhrssblaJpLgEiFPDFltxNddy NnaESeNovvY/sEmE2WC1dhGKvhU7bhF3YTd9/6OsEo2VI+6pCkn5Q0wfM82Z8rWvmfA92mWa3Ks qMqvBiMf2NhWVqRSWzjTdg2grW5/PU6/nuqP/iClF2+DJwAVrN10xRQtqzV3ataCCsSFXItmr30 Bz2a6kM3d/ X-Received: by 2002:a5d:5247:0:b0:436:34e8:e665 with SMTP id ffacd0b85a97d-43634e8ef4amr189103f8f.54.1770426329243; Fri, 06 Feb 2026 17:05:29 -0800 (PST) Received: from localhost ([2a03:2880:31ff:46::]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-436296bd4a1sm9576013f8f.17.2026.02.06.17.05.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Feb 2026 17:05:28 -0800 (PST) From: Mohsin Bashir To: netdev@vger.kernel.org Cc: alexanderduyck@fb.com, andrew+netdev@lunn.ch, andrew@lunn.ch, davem@davemloft.net, donald.hunter@gmail.com, edumazet@google.com, gal@nvidia.com, horms@kernel.org, idosch@nvidia.com, jacob.e.keller@intel.com, kernel-team@meta.com, kory.maincent@bootlin.com, kuba@kernel.org, lee@trager.us, leon@kernel.org, linux-rdma@vger.kernel.org, linux@armlinux.org.uk, mbloch@nvidia.com, mohsin.bashr@gmail.com, o.rempel@pengutronix.de, pabeni@redhat.com, saeedm@nvidia.com, tariqt@nvidia.com, vadim.fedorenko@linux.dev Subject: [PATCH net-next V2 0/5] net: ethtool: Track TX pause storm Date: Fri, 6 Feb 2026 17:05:20 -0800 Message-ID: <20260207010525.3808842-1-mohsin.bashr@gmail.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit With TX pause enabled, if a device cannot deliver received frames to the stack (e.g., during a system hang), it may generate excessive pause frames causing a pause storm. This series updates the uAPI to track TX pause storm events as part of the pause stats (p1), propose to use the existing knob (pfc-prevention-tout) to configure storm watchdog (p2), adds pause storm protection support for fbnic (p3), and leverages p1 to provide observability into these events for fbnic (p4) and mlnx5 (p5) drivers. --- Changelog: V2: - Clarify pfc-prevention-tout applies to general pause, not just PFC (P2) - Add pause storm watchdog timeout configuration via pfc-prevention-tout (P3) - mlx5: Report device stall prevention events (errors) in pause stats (P5) V1: https://lore.kernel.org/20260122192158.428882-1-mohsin.bashr@gmail.com/ Mohsin Bashir (5): net: ethtool: Track pause storm events net: ethtool: Update doc for tunable eth: fbnic: Add protection against pause storm eth: fbnic: Fetch TX pause storm stats eth: mlx5: Move pause storm errors to pause stats Documentation/netlink/specs/ethtool.yaml | 13 +++ .../ethernet/mellanox/mlx5/core/en_stats.c | 25 ++++ drivers/net/ethernet/meta/fbnic/fbnic.h | 3 + drivers/net/ethernet/meta/fbnic/fbnic_csr.h | 11 ++ .../net/ethernet/meta/fbnic/fbnic_ethtool.c | 46 ++++++++ .../net/ethernet/meta/fbnic/fbnic_hw_stats.h | 1 + drivers/net/ethernet/meta/fbnic/fbnic_irq.c | 2 + drivers/net/ethernet/meta/fbnic/fbnic_mac.c | 110 ++++++++++++++++++ drivers/net/ethernet/meta/fbnic/fbnic_mac.h | 27 +++++ drivers/net/ethernet/meta/fbnic/fbnic_pci.c | 5 + include/linux/ethtool.h | 2 + include/uapi/linux/ethtool.h | 2 +- .../uapi/linux/ethtool_netlink_generated.h | 1 + net/ethtool/pause.c | 4 +- 14 files changed, 250 insertions(+), 2 deletions(-) -- 2.47.3 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B1F923D2A3 for ; Sat, 7 Feb 2026 03:32:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770435175; cv=none; b=eqSwFubq3vXTsFP4XDhKE6ZKKlZrrsnCZuHxvYA3KVykyFcwbWvOpQIw6Mi6+PF8KIizQBTyDbMwRaB52sdszjLwP1SkCB7ICqEj+PauW7cw6skCLBaMPZ4UECYPxeSk4M6zgPBNLVCxPqsX3F+lZm5xxbUCdB+9pbxMvTCppi8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770435175; c=relaxed/simple; bh=F75+iwxlRTLyIzKuJzJ+ID7DQ02GZVbuxnZkr4FlfjY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Zgt9zb+0CMRSudWhXnjAZT8alA2682dxJW102f8OrHjiFEiTjLeZR+2G0p8raglqDruBK806/civ1Ih+w7Knr8vhAL7UZC+iIc7WSNvrzjyIdScyIw7Cj03+/iiMH+8Xk+wpiBvlfyUbZbftJbVE6b/rdeeKrzcs+ATJ0X/JMSM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mQddH7Oz; arc=none smtp.client-ip=209.85.128.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mQddH7Oz" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-48068127f00so25754565e9.3 for ; Fri, 06 Feb 2026 19:32:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1770435173; x=1771039973; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nV2/pR09fRCKiwS6HhA3KDDNoxylvhh0vYo9VwjMiO8=; b=mQddH7OzOoYQhkb+oRz8ZMtoCNemJ0nFfYzmzinYhYkIary4u9QNSo3go94zZrAdEa 7Egka4BO2/WM+PIIdmIZQSLBE3ELgrsVtpV0fiW49H7ZsDfZbMKOQNUWIZNA6vHL8QAh pvUk6O5HqTF+FjZ6HFQ47Q8HF2n8OUiI+oAuSG9nPjmCumIuE0BLF6PeNLifPIqbPTlR 8U+L/gFhol0rgRAAidiDumcVRATibNkHlx1ZrFJL72L+tvpw+5QjP8McN9/qG6SdLrt5 K7myOXCE8Q7z4d4Dhj2KuTcgbTFUMBFPU5AO3o2IFgz/MHWKfT+JuuajB8mP32L0eapU RbcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770435173; x=1771039973; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nV2/pR09fRCKiwS6HhA3KDDNoxylvhh0vYo9VwjMiO8=; b=f7n8Ge8+Jy5UqQi2hbrZBq/EDusb9hA8YyF0uHG9UVbILNCz/fXH3IUW+9iJGKUVQd sJmut3Q9ICtRcrv+0UlYwrKMtAoXIlOQHGuvItlmbwdpHaB51u6fCmaa/Y6UtgqQpee2 YWX8rzOsu488N3BJ3kj7z6f0KFHJcDKHUMfVLWHKsuofkWMGKRZifdCVfVhCMGTXFWNN /azM0Dt2Qbni8rWW1MByhhxEp3fIc7mF4hFwKc2KPIfZ7boixNQeT8vtMVxliAw51WrD sC4CkREqVnu+GY8MmwaNpUxXFxbO1jPijaHvT6DkZRLvXl+rFVYUsDW69x13npeT9+ez wESg== X-Gm-Message-State: AOJu0YwBnuiAiy2+i2bgPOTS0yOyhOCDTVlWLU3JMK2rC7JqjTqRpS50 jFurfgY0QXzCUjHMbUnZAaqWKpwtpvs6Ar1glE3PcMU+zAiUi8XEDi4hfZO2jvcB X-Gm-Gg: AZuq6aJ7UuD8+ig5F/27N9XAqFBgRItxLmbgIZsLF5j12tp0R7SP5mbIK+VgPn3FYEO 4G6jHTl1DuMg39HwkwTmP4Rcqrj4Vt1Q8q47nqj+PkBhrR1Y3/FZ8FVl86itD8Txhjxs4GEu5/k w+2C+ZDIJAtIpHcHqfNayeeyMsai8wxNuJhDpev6WQpck/AgJKGiMAxEkEdUY3EK5vkZJADCaM6 sUDWr8BZNPxwnumPZUJEzUhKRdZAb8TStWR4K7HHHZr11wfPHLjYoluJLbGY1wCnddd2C3cUwMI e4pF8J0NsKHuajq2CrXH7qiDo/XT5rh7EFsfr5nIz3gJcEacwh8zPxYQqHXseZnS6D8a9WAyw6c Bp2THj9+LFs7l2W4w15FyX/CpXS9Bn7oEtHTQtkanWrvJ5gQ6Erajg/Ady2ea5WAZG78UdvrPuC NsQUBRVbk= X-Received: by 2002:a05:600c:8b6f:b0:477:7975:30ea with SMTP id 5b1f17b1804b1-48320236963mr61223265e9.29.1770428553506; Fri, 06 Feb 2026 17:42:33 -0800 (PST) Received: from localhost ([2a03:2880:31ff:7::]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48320961701sm59340825e9.5.2026.02.06.17.42.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Feb 2026 17:42:33 -0800 (PST) From: Mohsin Bashir To: netdev@vger.kernel.org Cc: alexanderduyck@fb.com, andrew+netdev@lunn.ch, andrew@lunn.ch, davem@davemloft.net, donald.hunter@gmail.com, edumazet@google.com, gal@nvidia.com, horms@kernel.org, idosch@nvidia.com, jacob.e.keller@intel.com, kernel-team@meta.com, kory.maincent@bootlin.com, kuba@kernel.org, lee@trager.us, leon@kernel.org, linux-rdma@vger.kernel.org, linux@armlinux.org.uk, mbloch@nvidia.com, mohsin.bashr@gmail.com, o.rempel@pengutronix.de, pabeni@redhat.com, saeedm@nvidia.com, tariqt@nvidia.com, vadim.fedorenko@linux.dev Subject: [PATCH net-next V2 0/5] net: ethtool: Track TX pause storm Date: Fri, 6 Feb 2026 17:42:30 -0800 Message-ID: <20260207010525.3808842-1-mohsin.bashr@gmail.com> X-Mailer: git-send-email 2.47.3 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: <20260207014230.EYdp6BG5pEnyMfPzjJ7BXEKC6ac6_XUmrg2KzDzJYUw@z> With TX pause enabled, if a device cannot deliver received frames to the stack (e.g., during a system hang), it may generate excessive pause frames causing a pause storm. This series updates the uAPI to track TX pause storm events as part of the pause stats (p1), propose to use the existing knob (pfc-prevention-tout) to configure storm watchdog (p2), adds pause storm protection support for fbnic (p3), and leverages p1 to provide observability into these events for fbnic (p4) and mlnx5 (p5) drivers. --- Changelog: V2: - Clarify pfc-prevention-tout applies to general pause, not just PFC (P2) - Add pause storm watchdog timeout configuration via pfc-prevention-tout (P3) - mlx5: Report device stall prevention events (errors) in pause stats (P5) V1: https://lore.kernel.org/20260122192158.428882-1-mohsin.bashr@gmail.com/ Mohsin Bashir (5): net: ethtool: Track pause storm events net: ethtool: Update doc for tunable eth: fbnic: Add protection against pause storm eth: fbnic: Fetch TX pause storm stats eth: mlx5: Move pause storm errors to pause stats Documentation/netlink/specs/ethtool.yaml | 13 +++ .../ethernet/mellanox/mlx5/core/en_stats.c | 25 ++++ drivers/net/ethernet/meta/fbnic/fbnic.h | 3 + drivers/net/ethernet/meta/fbnic/fbnic_csr.h | 11 ++ .../net/ethernet/meta/fbnic/fbnic_ethtool.c | 46 ++++++++ .../net/ethernet/meta/fbnic/fbnic_hw_stats.h | 1 + drivers/net/ethernet/meta/fbnic/fbnic_irq.c | 2 + drivers/net/ethernet/meta/fbnic/fbnic_mac.c | 110 ++++++++++++++++++ drivers/net/ethernet/meta/fbnic/fbnic_mac.h | 27 +++++ drivers/net/ethernet/meta/fbnic/fbnic_pci.c | 5 + include/linux/ethtool.h | 2 + include/uapi/linux/ethtool.h | 2 +- .../uapi/linux/ethtool_netlink_generated.h | 1 + net/ethtool/pause.c | 4 +- 14 files changed, 250 insertions(+), 2 deletions(-) -- 2.47.3