From: "Burakov, Anatoly" <anatoly.burakov@intel.com>
To: wangyunjian <wangyunjian@huawei.com>,
dev@dpdk.org, david.marchand@redhat.com
Cc: jerry.lilijun@huawei.com, xudingke@huawei.com, stable@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 1/1] eal/linux: do not create user mem map repeatedly when it exists
Date: Fri, 17 Jul 2020 15:19:41 +0100 [thread overview]
Message-ID: <70169443-f475-a632-c1f8-6e993bea726c@intel.com> (raw)
In-Reply-To: <cdb0d6482a5c3a5d7d23625d230d9ef41d657320.1594903876.git.wangyunjian@huawei.com>
On 16-Jul-20 2:38 PM, wangyunjian wrote:
> From: Yunjian Wang <wangyunjian@huawei.com>
>
> Currently, we will create new user mem map entry for the same memory
> segment, but in fact it has already been added to the user mem maps.
> It's not necessary to create it twice.
>
> Fixes: 0cbce3a167f1 ("vfio: skip DMA map failure if already mapped")
> Cc: stable@dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
> ---
> lib/librte_eal/linux/eal_vfio.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/lib/librte_eal/linux/eal_vfio.c b/lib/librte_eal/linux/eal_vfio.c
> index abb12a354..d8a8c39ab 100644
> --- a/lib/librte_eal/linux/eal_vfio.c
> +++ b/lib/librte_eal/linux/eal_vfio.c
> @@ -1828,6 +1828,13 @@ container_dma_map(struct vfio_config *vfio_cfg, uint64_t vaddr, uint64_t iova,
> ret = -1;
> goto out;
> }
> +
> + /* we don't need create new user mem map entry
> + * for the same memory segment.
> + */
> + if (errno == EBUSY || errno == EEXIST)
> + goto out;
> +
I'm not sure i understand this patch. If we get errno, the call has
failed, which means we're doing "goto out" from a few lines above. Am i
missing something here?
> /* create new user mem map entry */
> new_map = &user_mem_maps->maps[user_mem_maps->n_maps++];
> new_map->addr = vaddr;
>
--
Thanks,
Anatoly
next prev parent reply other threads:[~2020-07-17 14:19 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-16 13:38 wangyunjian
2020-07-17 14:19 ` Burakov, Anatoly [this message]
2020-07-17 14:23 ` Burakov, Anatoly
2020-07-20 2:00 ` wangyunjian
2020-07-20 11:46 ` Burakov, Anatoly
2020-07-22 12:47 ` wangyunjian
2020-07-23 14:48 ` [dpdk-dev] [PATCH v2] " wangyunjian
2020-07-24 13:25 ` Burakov, Anatoly
2020-07-25 9:59 ` wangyunjian
2020-07-27 9:24 ` Burakov, Anatoly
2020-07-30 13:16 ` wangyunjian
2020-07-31 11:55 ` Burakov, Anatoly
2020-08-05 12:58 ` wangyunjian
2020-09-17 11:33 ` Burakov, Anatoly
2020-09-17 11:35 ` Burakov, Anatoly
2020-10-15 12:46 ` wangyunjian
2020-10-15 12:54 ` David Marchand
2020-10-16 9:48 ` wangyunjian
2020-10-16 9:28 ` [dpdk-dev] [PATCH v3] eal: fix " wangyunjian
2020-10-20 14:09 ` Thomas Monjalon
2020-11-15 14:23 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
2020-11-22 18:20 ` Thomas Monjalon
2020-11-23 7:40 ` wangyunjian
2020-11-27 12:54 ` [dpdk-dev] " Burakov, Anatoly
2020-12-07 11:08 ` [dpdk-dev] [PATCH v4] " wangyunjian
2021-03-25 13:38 ` wangyunjian
2021-03-25 14:30 ` Thomas Monjalon
2021-03-25 16:45 ` Kevin Traynor
2021-04-10 9:37 ` [dpdk-dev] [PATCH v5] " wangyunjian
2021-04-19 11:47 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
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=70169443-f475-a632-c1f8-6e993bea726c@intel.com \
--to=anatoly.burakov@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=jerry.lilijun@huawei.com \
--cc=stable@dpdk.org \
--cc=wangyunjian@huawei.com \
--cc=xudingke@huawei.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).