DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion
@ 2017-07-12 22:09 Yongseok Koh
  2017-07-13  7:04 ` Nélio Laranjeiro
  0 siblings, 1 reply; 3+ messages in thread
From: Yongseok Koh @ 2017-07-12 22:09 UTC (permalink / raw)
  To: ferruh.yigit; +Cc: dev, adrien.mazarguil, nelio.laranjeiro, Yongseok Koh

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@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion
  2017-07-12 22:09 [dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion Yongseok Koh
@ 2017-07-13  7:04 ` Nélio Laranjeiro
  2017-07-18  9:46   ` Ferruh Yigit
  0 siblings, 1 reply; 3+ messages in thread
From: Nélio Laranjeiro @ 2017-07-13  7:04 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: ferruh.yigit, dev, adrien.mazarguil

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@mellanox.com>
> Acked-by: Shahaf Shuler <shahafs@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@6wind.com>

-- 
Nélio Laranjeiro
6WIND

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion
  2017-07-13  7:04 ` Nélio Laranjeiro
@ 2017-07-18  9:46   ` Ferruh Yigit
  0 siblings, 0 replies; 3+ messages in thread
From: Ferruh Yigit @ 2017-07-18  9:46 UTC (permalink / raw)
  To: Nélio Laranjeiro, Yongseok Koh; +Cc: dev, adrien.mazarguil

On 7/13/2017 8:04 AM, Nélio Laranjeiro wrote:
> 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@mellanox.com>
>> Acked-by: Shahaf Shuler <shahafs@mellanox.com>

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

Applied to dpdk-next-net/master, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-07-18  9:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-12 22:09 [dpdk-dev] [PATCH] net/mlx5: change start pointer of compressed completion Yongseok Koh
2017-07-13  7:04 ` Nélio Laranjeiro
2017-07-18  9:46   ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).