net/mlx5: fix inline data size adjustment for Verbs API
Checks
Commit Message
This fix ensures that when using Verbs for queue creation,
the maximum inline data size is adjusted to prevent rejection
in mlx5_calc_send_wqe() from the rdma_core library.
The adjustment is achieved by reducing the Ethernet minimal inline
size and adding the data minimal inline size,
there for decreasing the maximum inline data size to fit within
acceptable limits.
Fixes: 0c2f7837c673 ("net/mlx5: mitigate Tx queue parameter adjustment")
Signed-off-by: Shani Peretz <shperetz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_txq.c | 2 ++
1 file changed, 2 insertions(+)
Comments
Hi,
On 02/07/2025 12:34 PM, Shani Peretz wrote:
> This fix ensures that when using Verbs for queue creation,
> the maximum inline data size is adjusted to prevent rejection
> in mlx5_calc_send_wqe() from the rdma_core library.
> The adjustment is achieved by reducing the Ethernet minimal inline
> size and adding the data minimal inline size,
> there for decreasing the maximum inline data size to fit within
> acceptable limits.
>
> Fixes: 0c2f7837c673 ("net/mlx5: mitigate Tx queue parameter adjustment")
>
> Signed-off-by: Shani Peretz <shperetz@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Patch applied to next-net-mlx,
Kindest regards
Raslan Darawsheh
@@ -1009,6 +1009,8 @@ txq_adjust_params(struct mlx5_txq_ctrl *txq_ctrl)
"txq_inline_mpw requirements (%u) are not satisfied (%u) on port %u",
txq_ctrl->txq.inlen_empw, max_inline, priv->dev_data->port_id);
}
+ MLX5_ASSERT(max_inline >= (MLX5_ESEG_MIN_INLINE_SIZE - MLX5_DSEG_MIN_INLINE_SIZE));
+ max_inline -= MLX5_ESEG_MIN_INLINE_SIZE - MLX5_DSEG_MIN_INLINE_SIZE;
if (txq_ctrl->txq.tso_en && max_inline < MLX5_MAX_TSO_HEADER) {
DRV_LOG(WARNING,
"tso header inline requirements (%u) are not satisfied (%u) on port %u",