[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171116084406.cqs4msohou5z2c5k@unicorn.suse.cz>
Date: Thu, 16 Nov 2017 09:44:06 +0100
From: Michal Kubecek <mkubecek@...e.cz>
To: Eran Ben Elisha <eranbe@...lanox.com>
Cc: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>,
"John W. Linville" <linville@...driver.com>,
Saeed Mahameed <saeedm@...lanox.com>,
Gal Pressman <galp@...lanox.com>,
Ariel Almog <ariela@...lanox.com>,
Inbar Karmy <inbark@...lanox.com>
Subject: Re: [RFC PATCH net-next 0/2] Configuring PFC stall prevention via
ethtool
On Wed, Nov 15, 2017 at 09:00:09PM +0200, Eran Ben Elisha wrote:
> From: Inbar Karmy <inbark@...lanox.com>
>
> This RFC adds support for configuring PFC stall prevention through ethtool.
>
> In the event where the device unexpectedly becomes unresponsive for a long
> period of time, flow control mechanism may propagate pause frames which will
> cause congestion spreading to the entire network.
>
> To prevent this scenario, the device may implement a protection mechanism for
> monitoring and resolving such state. The following patches allow the user to
> control the stall prevention functionality.
>
> PFC stall prevention configuration is done via ethtool -a (pause).
> Two modes are introduced:
> Default - current behavior per driver.
> Auto - protection mechanism controlled automatically by the driver.
> Due to lack of extension ability of ethtool_ops set_pauseparam, a new
> ethtool_ops get_pfc_prevention_mode is introduced.
I don't like adding another ethtool_ops callback tightly tied to the
structures passed via ioctl() but when I started to think what to
suggest as an alternative, I started to wonder if it is really necessary
to add a new ethtool command at all. Couldn't this be handled as
a tunable?
Michal Kubecek
> I based this patch set on net-next commit 50895b9de1d3("tcp: highest_sack fix
> ").
>
> Inbar Karmy (2):
> ethtool: Add support for configuring PFC stall prevention in ethtool
> net/mlx5e: PFC stall prevention support
>
> .../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 51 ++++++++++++++++++++
> drivers/net/ethernet/mellanox/mlx5/core/port.c | 56 ++++++++++++++++++----
> include/linux/ethtool.h | 8 ++++
> include/linux/mlx5/mlx5_ifc.h | 22 +++++++--
> include/linux/mlx5/port.h | 5 ++
> include/uapi/linux/ethtool.h | 20 ++++++++
> net/core/ethtool.c | 39 +++++++++++++++
> 7 files changed, 188 insertions(+), 13 deletions(-)
>
> --
> 1.8.3.1
>
Powered by blists - more mailing lists