[v1] vdpa/mlx5: use control core Id for vhost thread

Message ID 1595917336-30613-1-git-send-email-xuemingl@mellanox.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers
Series [v1] vdpa/mlx5: use control core Id for vhost thread |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Xueming Li July 28, 2020, 6:22 a.m. UTC
  With latest rte api, vdpa example failed on vq setup, the api to get
event queue of specified core failed.

The api to get event queue needs core id as input, but after
commit 67ae5936c4fc36 ("eal: fix lcore accessors for non-EAL threads"),
code of "vhost-event" thread to get current core returns -1, an invalid
core id.

As vhost thread created on same core of eal control core, this patch
uses control core ID as a workaround.

Signed-off-by: Xueming Li <xuemingl@mellanox.com>
Acked-by: Matan Azrad <matan@mellanox.com>
---
 drivers/vdpa/mlx5/mlx5_vdpa_event.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/drivers/vdpa/mlx5/mlx5_vdpa_event.c b/drivers/vdpa/mlx5/mlx5_vdpa_event.c
index 13ad43611e..ff6db8e345 100644
--- a/drivers/vdpa/mlx5/mlx5_vdpa_event.c
+++ b/drivers/vdpa/mlx5/mlx5_vdpa_event.c
@@ -55,7 +55,7 @@  mlx5_vdpa_event_qp_global_prepare(struct mlx5_vdpa_priv *priv)
 
 	if (priv->eventc)
 		return 0;
-	lcore = (uint32_t)rte_lcore_to_cpu_id(-1);
+	lcore = (uint32_t)rte_get_master_lcore();
 	if (mlx5_glue->devx_query_eqn(priv->ctx, lcore, &priv->eqn)) {
 		rte_errno = errno;
 		DRV_LOG(ERR, "Failed to query EQ number %d.", rte_errno);