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 master core, this patch uses master core ID as a workaround. Signed-off-by: Xueming Li <xuemi...@mellanox.com> Acked-by: Matan Azrad <ma...@mellanox.com> --- drivers/vdpa/mlx5/mlx5_vdpa_event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); -- 2.17.1