DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Xueming Li <xuemingl@mellanox.com>
Cc: dev <dev@dpdk.org>, Asaf Penso <asafp@mellanox.com>,
	Matan Azrad <matan@mellanox.com>
Subject: Re: [dpdk-dev] [PATCH] vdpa/mlx5: use master core Id for vhost thread
Date: Tue, 28 Jul 2020 09:08:05 +0200
Message-ID: <CAJFAV8xHEzgYp3A3Y+_1UHxKrupsQj+c6CExXHOzidy1Rg1A1A@mail.gmail.com> (raw)
In-Reply-To: <1595916684-30135-1-git-send-email-xuemingl@mellanox.com>

On Tue, Jul 28, 2020 at 8:11 AM Xueming Li <xuemingl@mellanox.com> wrote:
>
> 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.

rte_lcore_to_cpu_id(-1) is supposed to return the current lcore id.
As explained in the commitlog of 67ae5936c4fc36, for a non-EAL thread
(which has no associated lcore by default) calling this function means
lcore_config[-1].core_id.

Did I miss something?
If not, this is not a workaround but a fix.


>
> 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(-)
>
> 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
>


-- 
David Marchand


  parent reply	other threads:[~2020-07-28  7:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-28  6:11 Xueming Li
2020-07-28  6:22 ` [dpdk-dev] [v1] vdpa/mlx5: use control " Xueming Li
2020-07-28  7:08 ` David Marchand [this message]
2020-07-28  7:19   ` [dpdk-dev] [PATCH] vdpa/mlx5: use master " Matan Azrad
2020-07-28  7:25     ` David Marchand
2020-07-28  7:30       ` Matan Azrad
2020-07-28  7:53         ` David Marchand
2020-07-28  8:06           ` Xueming(Steven) Li
2020-07-28  8:27             ` Matan Azrad
2020-07-28  8:30               ` David Marchand
2020-07-28  8:24 ` Xueming(Steven) Li
2020-07-28  9:22 ` [dpdk-dev] [v2] vdpa/mlx5: fix event queue number query Xueming Li
2020-07-28 12:05   ` David Marchand
2020-07-28 12:26     ` Xueming(Steven) Li
2020-07-28 12:32 ` [dpdk-dev] [v3] " Xueming Li
2020-07-28 14:04   ` Maxime Coquelin
2020-07-28 15:55   ` Maxime Coquelin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAJFAV8xHEzgYp3A3Y+_1UHxKrupsQj+c6CExXHOzidy1Rg1A1A@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=asafp@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.com \
    --cc=xuemingl@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git