net/mlx5: fix counting consumed Tx descriptors
authorYongseok Koh <yskoh@mellanox.com>
Tue, 25 Jul 2017 16:42:16 +0000 (09:42 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 31 Jul 2017 17:58:41 +0000 (19:58 +0200)
When advancing Tx ring index (txq->wqe_ci) in txq_scatter_v(), the title
descriptor of multi-packet send isn't taken into account if it doesn't
cross 64B boundary.

Fixes: 6cb559d67b83 ("net/mlx5: add vectorized Rx/Tx burst for x86")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
drivers/net/mlx5/mlx5_rxtx_vec_sse.c

index 95e96ba..0a65502 100644 (file)
@@ -288,8 +288,7 @@ txq_scatter_v(struct txq *txq, struct rte_mbuf **pkts, uint16_t pkts_n)
                        (*txq->elts)[elts_head++ & elts_m] = buf;
                        buf = buf->next;
                } while (--segs_n);
-               if (ds % nb_dword_per_wqebb)
-                       ++wqe_ci;
+               ++wqe_ci;
                /* Fill CTRL in the header. */
                ctrl = _mm_set_epi32(0, 0, txq->qp_num_8s | ds,
                                     MLX5_OPC_MOD_MPW << 24 |