From: Bruce Richardson <bruce.richardson@intel.com>
To: Kumar Amber <kumar.amber@intel.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH v4] raw/ioat: add secondary process support
Date: Wed, 6 Jan 2021 14:07:31 +0000 [thread overview]
Message-ID: <20210106140731.GA1969@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <20210104163049.304493-1-kumar.amber@intel.com>
On Mon, Jan 04, 2021 at 10:00:49PM +0530, Kumar Amber wrote:
> Add support for secondary processes in ioat devices. The update
> allocates a memzone for a primary process or returns it in a
> secondary process.
>
> Signed-off-by: Kumar Amber <kumar.amber@intel.com>
> ---
Thanks for the patch. Some comments below.
Also, with each version can you include below the cutline [i.e. here] what
has changed since the previous version, to make reviewing easier.
Thanks,
/Bruce
> drivers/raw/ioat/ioat_common.c | 16 +++++++++++++---
> drivers/raw/ioat/ioat_rawdev.c | 17 +++++++++++++----
> 2 files changed, 26 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/raw/ioat/ioat_common.c b/drivers/raw/ioat/ioat_common.c
> index 142e171bc9..c174e4bb28 100644
> --- a/drivers/raw/ioat/ioat_common.c
> +++ b/drivers/raw/ioat/ioat_common.c
> @@ -215,11 +215,21 @@ idxd_rawdev_create(const char *name, struct rte_device *dev,
> goto cleanup;
> }
>
> + /* Allocate memory for the primary process or else return the memory
> + * of primary memzone for the secondary process.
> + */
> snprintf(mz_name, sizeof(mz_name), "rawdev%u_private", rawdev->dev_id);
> - mz = rte_memzone_reserve(mz_name, sizeof(struct idxd_rawdev),
> - dev->numa_node, RTE_MEMZONE_IOVA_CONTIG);
> + if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
> + mz = rte_memzone_lookup(mz_name);
> + rawdev->dev_private = mz->addr;
I think we should have some error checking here in case the lookup fails.
The particular device in question could be unused by the primary.
> + return 0;
> + }
> + mz = rte_memzone_reserve(mz_name,
> + sizeof(struct rte_ioat_rawdev),
> + dev->numa_node,
> + RTE_MEMZONE_IOVA_CONTIG);
> if (mz == NULL) {
> - IOAT_PMD_ERR("Unable to reserve memzone for private data\n");
> + IOAT_PMD_ERR("Unable to reserve memzone\n");
Is there a need to change the error message here?
> ret = -ENOMEM;
> goto cleanup;
> }
> diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
> index 2c88b4369f..0d3e904c8d 100644
> --- a/drivers/raw/ioat/ioat_rawdev.c
> +++ b/drivers/raw/ioat/ioat_rawdev.c
> @@ -165,15 +165,24 @@ ioat_rawdev_create(const char *name, struct rte_pci_device *dev)
> goto cleanup;
> }
>
> + /* Allocate memory for the primary process or else return the memory
> + * of primary memzone for the secondary process.
> + */
> snprintf(mz_name, sizeof(mz_name), "rawdev%u_private", rawdev->dev_id);
> - mz = rte_memzone_reserve(mz_name, sizeof(struct rte_ioat_rawdev),
> - dev->device.numa_node, RTE_MEMZONE_IOVA_CONTIG);
> + if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
> + mz = rte_memzone_lookup(mz_name);
> + rawdev->dev_private = mz->addr;
> + return 0;
> + }
> + mz = rte_memzone_reserve(mz_name,
> + sizeof(struct rte_ioat_rawdev),
> + dev->device.numa_node,
> + RTE_MEMZONE_IOVA_CONTIG);
> if (mz == NULL) {
> - IOAT_PMD_ERR("Unable to reserve memzone for private data\n");
> + IOAT_PMD_ERR("Unable to reserve memzone\n");
> ret = -ENOMEM;
> goto cleanup;
> }
> -
Same comments for this file as for previous. Also note the extra line
removal here, which probably should not be part of this patch too.
> rawdev->dev_private = mz->addr;
> rawdev->dev_ops = &ioat_rawdev_ops;
> rawdev->device = &dev->device;
> --
> 2.25.1
>
next prev parent reply other threads:[~2021-01-06 14:07 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-21 2:09 [dpdk-dev] [PATCH v1] " Kumar Amber
2021-01-04 13:31 ` [dpdk-dev] [PATCH v2] " Kumar Amber
2021-01-04 16:28 ` [dpdk-dev] [PATCH v3] " Kumar Amber
2021-01-04 16:30 ` [dpdk-dev] [PATCH v4] " Kumar Amber
2021-01-06 14:07 ` Bruce Richardson [this message]
2021-01-07 4:00 ` [dpdk-dev] [PATCH v5] " Kumar Amber
2021-01-07 5:05 ` [dpdk-dev] [PATCH v6] " Kumar Amber
2021-01-07 12:23 ` [dpdk-dev] [PATCH v7] " Kumar Amber
2021-01-07 12:37 ` Bruce Richardson
2021-01-08 13:44 ` [dpdk-dev] [PATCH v8] " Kumar Amber
2021-01-08 14:03 ` Bruce Richardson
2021-01-08 16:08 ` [dpdk-dev] [PATCH v9] " Kumar Amber
2021-01-08 16:52 ` Kumar Amber
2021-01-08 17:05 ` Bruce Richardson
2021-01-17 21:53 ` 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=20210106140731.GA1969@bricha3-MOBL.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=kumar.amber@intel.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).