Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Oct 2019 11:02:55 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r352995 - head/sys/dev/mlx5/mlx5_en
Message-ID:  <201910021102.x92B2tB9065110@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Wed Oct  2 11:02:54 2019
New Revision: 352995
URL: https://svnweb.freebsd.org/changeset/base/352995

Log:
  Only update lossy buffers config when manual PFC configuration was done
  in mlx5en(4).
  
  Submitted by:	kib@
  MFC after:	3 days
  Sponsored by:	Mellanox Technologies

Modified:
  head/sys/dev/mlx5/mlx5_en/en.h
  head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
  head/sys/dev/mlx5/mlx5_en/mlx5_en_port_buffer.c

Modified: head/sys/dev/mlx5/mlx5_en/en.h
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/en.h	Wed Oct  2 11:01:05 2019	(r352994)
+++ head/sys/dev/mlx5/mlx5_en/en.h	Wed Oct  2 11:02:54 2019	(r352995)
@@ -1046,6 +1046,7 @@ struct mlx5e_priv {
 	u_int	clbr_gen;
 
 	struct mlx5e_dcbx dcbx;
+	bool	sw_is_port_buf_owner;
 
 	struct pfil_head *pfil;
 	struct mlx5e_channel channel[];

Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c	Wed Oct  2 11:01:05 2019	(r352994)
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_main.c	Wed Oct  2 11:02:54 2019	(r352995)
@@ -3903,7 +3903,7 @@ mlx5e_sysctl_rx_priority_flow_control(SYSCTL_HANDLER_A
 	/* check if update is required */
 	if (rx_pfc != priv->params.rx_priority_flow_control) {
 		err = -mlx5e_set_port_pfc(priv);
-		if (err == 0)
+		if (err == 0 && priv->sw_is_port_buf_owner)
 			err = mlx5e_update_buf_lossy(priv);
 	}
 done:

Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_port_buffer.c
==============================================================================
--- head/sys/dev/mlx5/mlx5_en/mlx5_en_port_buffer.c	Wed Oct  2 11:01:05 2019	(r352994)
+++ head/sys/dev/mlx5/mlx5_en/mlx5_en_port_buffer.c	Wed Oct  2 11:02:54 2019	(r352995)
@@ -263,6 +263,7 @@ int mlx5e_port_manual_buffer_config(struct mlx5e_priv 
 		if (err)
 			return err;
 
+		priv->sw_is_port_buf_owner = true;
 		err = update_buffer_lossy(mtu, pfc->pfc_en, buffer, xoff,
 					  &port_buffer, &update_buffer);
 		if (err)
@@ -316,13 +317,16 @@ int mlx5e_port_manual_buffer_config(struct mlx5e_priv 
 
 	/* Apply the settings */
 	if (update_buffer) {
+		priv->sw_is_port_buf_owner = true;
 		err = port_set_buffer(priv, &port_buffer);
 		if (err)
 			return err;
 	}
 
-	if (update_prio2buffer)
+	if (update_prio2buffer) {
+		priv->sw_is_port_buf_owner = true;
 		err = mlx5e_port_set_priority2buffer(priv->mdev, prio2buffer);
+	}
 
 	return err;
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910021102.x92B2tB9065110>