[dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion

Nélio Laranjeiro nelio.laranjeiro at 6wind.com
Thu Jul 13 09:04:40 CEST 2017


On Wed, Jul 12, 2017 at 03:09:54PM -0700, Yongseok Koh wrote:
> On a host having 128B cacheline size, some devices insert 64B padding in
> each completion entry to avoid partial cacheline write by HW. But, as the
> padding is ahead of completion data, casting a completion entry to
> compressed mini-completions must start from the middle of the completion.
> 
> Signed-off-by: Yongseok Koh <yskoh at mellanox.com>
> Acked-by: Shahaf Shuler <shahafs at mellanox.com>
> ---
>  drivers/net/mlx5/mlx5_rxtx.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
> index ab6df19eb..29ce91b05 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.c
> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> @@ -1556,7 +1556,7 @@ mlx5_rx_poll_len(struct rxq *rxq, volatile struct mlx5_cqe *cqe,
>  	if (zip->ai) {
>  		volatile struct mlx5_mini_cqe8 (*mc)[8] =
>  			(volatile struct mlx5_mini_cqe8 (*)[8])
> -			(uintptr_t)(&(*rxq->cqes)[zip->ca & cqe_cnt]);
> +			(uintptr_t)(&(*rxq->cqes)[zip->ca & cqe_cnt].pkt_info);
>  
>  		len = ntohl((*mc)[zip->ai & 7].byte_cnt);
>  		*rss_hash = ntohl((*mc)[zip->ai & 7].rx_hash_result);
> @@ -1604,7 +1604,7 @@ mlx5_rx_poll_len(struct rxq *rxq, volatile struct mlx5_cqe *cqe,
>  			volatile struct mlx5_mini_cqe8 (*mc)[8] =
>  				(volatile struct mlx5_mini_cqe8 (*)[8])
>  				(uintptr_t)(&(*rxq->cqes)[rxq->cq_ci &
> -							  cqe_cnt]);
> +							  cqe_cnt].pkt_info);
>  
>  			/* Fix endianness. */
>  			zip->cqe_cnt = ntohl(cqe->byte_cnt);
> -- 
> 2.11.0
> 


Acked-by: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list