Hi,

> -----Original Message-----
> From: Gregory Etelson <getel...@mellanox.com>
> Sent: Thursday, July 23, 2020 5:21 PM
> To: dev@dpdk.org
> Cc: Gregory Etelson <getel...@mellanox.com>; Matan Azrad
> <ma...@mellanox.com>; Raslan Darawsheh <rasl...@mellanox.com>;
> Slava Ovsiienko <viachesl...@mellanox.com>; Shahaf Shuler
> <shah...@mellanox.com>
> Subject: [PATCH v2] net/mlx5: fix dynamic inline hint handling
> 
> The ConnectX NICs can transfer data from the host memory with two
> approaches: provide the pointer to the data buffer, or do data inline
> - copy the data to the transmit descriptor (WQE) entirely or only the
> part of data. In some configurations the NIC hardware requires the
> minimal data to be inline in the descriptor to operate correctly. And
> there is the special dynamic flag to hint PMD not to inline the data
> (for example, if buffer is located on some other device - storage or
> GPU) on per packet basis.
> 
> If there was a packet with length shorter than the minimal inline data
> length requested by the NIC hardware and the no-inline hint was set
> the PMD tried to inline the packet with minimal required length
> instead of actual packet's one.  This patch adds the missed length
> check into no-inline hint handling branch.
> 
> Fixes: cacb44a09962 ("net/mlx5: add no-inline Tx flag")
Added missing Cc: sta...@dpdk.org

> 
> Signed-off-by: Gregory Etelson <getel...@mellanox.com>
> Acked-by: Viacheslav Ovsiienko <viachesl...@mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_rxtx.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
> index 3eb0243603..1b71e94221 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.c
> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> @@ -4739,6 +4739,8 @@ mlx5_tx_burst_single_send(struct mlx5_txq_data
> *__rte_restrict txq,
>                                             txq->inlen_mode) ||
>                                           (MLX5_TXOFF_CONFIG(MPW) &&
>                                            txq->inlen_mode)) {
> +                                             if (inlen <= txq->inlen_send)
> +                                                     goto single_inline;
>                                               /*
>                                                * The hardware requires the
>                                                * minimal inline data header.
> @@ -4755,6 +4757,7 @@ mlx5_tx_burst_single_send(struct mlx5_txq_data
> *__rte_restrict txq,
>                                       }
>                                       goto single_no_inline;
>                               }
> +single_inline:
>                               /*
>                                * Completely inlined packet data WQE:
>                                * - Control Segment, SEND opcode
> --
> 2.25.1


Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

Reply via email to