From: Kumar Amber <kumar.amber@intel.com>
To: dev@dpdk.org
Subject: [dpdk-dev] [PATCH v3] raw/ioat: add secondary process support
Date: Mon, 4 Jan 2021 21:58:29 +0530 [thread overview]
Message-ID: <20210104162829.304116-1-kumar.amber@intel.com> (raw)
In-Reply-To: <20210104133128.286198-1-kumar.amber@intel.com>
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>
---
drivers/raw/ioat/ioat_common.c | 17 ++++++++++++++---
drivers/raw/ioat/ioat_rawdev.c | 18 ++++++++++++++----
2 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/drivers/raw/ioat/ioat_common.c b/drivers/raw/ioat/ioat_common.c
index 142e171bc9..baa0e856f6 100644
--- a/drivers/raw/ioat/ioat_common.c
+++ b/drivers/raw/ioat/ioat_common.c
@@ -215,11 +215,22 @@ idxd_rawdev_create(const char *name, struct rte_device *dev,
goto cleanup;
}
+ /* allocate memory for primary process
+ * else return memory of primary
+ * memzone for 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;
+ 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");
ret = -ENOMEM;
goto cleanup;
}
diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
index 2c88b4369f..76ed48d5a0 100644
--- a/drivers/raw/ioat/ioat_rawdev.c
+++ b/drivers/raw/ioat/ioat_rawdev.c
@@ -165,15 +165,25 @@ ioat_rawdev_create(const char *name, struct rte_pci_device *dev)
goto cleanup;
}
+ /* allocate memory for primary process
+ * else return memory of primary
+ * memzone for 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;
}
-
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-04 16:36 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 ` Kumar Amber [this message]
2021-01-04 16:30 ` [dpdk-dev] [PATCH v4] " Kumar Amber
2021-01-06 14:07 ` Bruce Richardson
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=20210104162829.304116-1-kumar.amber@intel.com \
--to=kumar.amber@intel.com \
--cc=dev@dpdk.org \
/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).