Patch "net/mlx5e: Do not reduce LRO WQE size when not using build_skb" has been added to the 4.9-stable tree
This is a note to let you know that I've just added the patch titled
net/mlx5e: Do not reduce LRO WQE size when not using build_skb
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-mlx5e-do-not-reduce-lro-wqe-size-when-not-using-build_skb.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Sat Mar 18 22:03:25 CST 2017
From: Tariq Toukan <[email protected]>
Date: Wed, 22 Feb 2017 17:20:13 +0200
Subject: net/mlx5e: Do not reduce LRO WQE size when not using build_skb
From: Tariq Toukan <[email protected]>
[ Upstream commit 4078e637c12f1e0a74293f1ec9563f42bff14a03 ]
When rq_type is Striding RQ, no room of SKB_RESERVE is needed as SKB allocation is not done via build_skb.
--- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
drivers/net/ethernet/mellanox/mlx5/core/en_main.c +5 -6
@@ -81,6 +81,7 @@ static bool mlx5e_check_fragmented_stridstatic void mlx5e_set_rq_type_params (struct mlx5e_priv *priv,u8 rq_type) { priv->params.rq_wq_type = rq_type; + priv->params.lro_wqe_sz =MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ ;switch (priv->params.rq_wq_type) {case MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ : priv->params.log_rq_size =MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE_MPW ;
@@ -92,6 +93,10 @@ static void mlx5e_set_rq_type_params(strbreak ;default :/* MLX5_WQ_TYPE_LINKED_LIST */ priv->params.log_rq_size =MLX5E_PARAMS_DEFAULT_LOG_RQ_SIZE ; + +/* Extra room needed for build_skb */ + priv->params.lro_wqe_sz -=MLX5_RX_HEADROOM + +SKB_DATA_ALIGN (sizeof (struct skb_shared_info )); } priv->params.min_rx_wqes =mlx5_min_rx_wqes (priv->params.rq_wq_type,BIT (priv->params.log_rq_size));
@@ -3473,12 +3478,6 @@ static void mlx5e_build_nic_netdev_priv(mlx5e_build_default_indir_rqt (mdev, priv->params.indirection_rqt,MLX5E_INDIR_RQT_SIZE , profile->max_nch (mdev)); - priv->params.lro_wqe_sz = -MLX5E_PARAMS_DEFAULT_LRO_WQE_SZ - -/* Extra room needed for build_skb */ -MLX5_RX_HEADROOM - -SKB_DATA_ALIGN (sizeof (struct skb_shared_info )); -/* Initialize pflags */ MLX5E_SET_PRIV_FLAG (priv,MLX5E_PFLAG_RX_CQE_BASED_MODER , priv->params.rx_cq_period_mode ==MLX5_CQ_PERIOD_MODE_START_FROM_CQE );
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/net-mlx5e-do-not-reduce-lro-wqe-size-when-not-using-build_skb.patch queue-4.9/net-mlx5e-fix-wrong-cqe-decompression.patch