DPDK patches and discussions
 help / color / mirror / Atom feed
From: Harry van Haaren <harry.van.haaren@intel.com>
To: dev@dpdk.org
Cc: jerinj@marvell.com, pravin.pathak@intel.com,
	rashmi.shetty@intel.com,
	Harry van Haaren <harry.van.haaren@intel.com>
Subject: [dpdk-dev] [PATCH v2 1/4] eventdev: add usage hints to port configure API
Date: Thu, 14 Oct 2021 14:51:38 +0000	[thread overview]
Message-ID: <20211014145141.679372-1-harry.van.haaren@intel.com> (raw)
In-Reply-To: <20210909125422.31144-2-harry.van.haaren@intel.com>

This commit introduces 3 flags to the port configuration flags.
These flags allow the application to indicate what type of work
is expected to be performed by an eventdev port.

The three new flags are
- RTE_EVENT_PORT_CFG_HINT_PRODUCER (mostly RTE_EVENT_OP_NEW events)
- RTE_EVENT_PORT_CFG_HINT_CONSUMER (mostly RTE_EVENT_OP_RELEASE events)
- RTE_EVENT_PORT_CFG_HINT_WORKER   (mostly RTE_EVENT_OP_FORWARD events)

These flags are only hints, and the PMDs must operate under the
assumption that any port can enqueue an event with any type of op.

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>

---

v2:
- Add note about PMD assumptions to all hints (Jerin)
- Fixup title to eventdev: (Jerin)
- Improve wording/readability of worker hint description.

---
 lib/eventdev/rte_eventdev.h | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index a9c496fb62..c20d0b0c86 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -709,6 +709,38 @@ rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
  *
  *  @see rte_event_port_setup(), rte_event_port_link()
  */
+#define RTE_EVENT_PORT_CFG_HINT_PRODUCER       (1ULL << 2)
+/**< Hint that this event port will primarily enqueue events to the system.
+ * A PMD can optimize its internal workings by assuming that this port is
+ * primarily going to enqueue NEW events.
+ *
+ * Note that this flag is only a hint, so PMDs must operate under the
+ * assumption that any port can enqueue an event with any type of op.
+ *
+ *  @see rte_event_port_setup()
+ */
+#define RTE_EVENT_PORT_CFG_HINT_CONSUMER       (1ULL << 3)
+/**< Hint that this event port will primarily dequeue events from the system.
+ * A PMD can optimize its internal workings by assuming that this port is
+ * primarily going to consume events, and not enqueue FORWARD or RELEASE
+ * events.
+ *
+ * Note that this flag is only a hint, so PMDs must operate under the
+ * assumption that any port can enqueue an event with any type of op.
+ *
+ *  @see rte_event_port_setup()
+ */
+#define RTE_EVENT_PORT_CFG_HINT_WORKER         (1ULL << 4)
+/**< Hint that this event port will primarily pass existing events through.
+ * A PMD can optimize its internal workings by assuming that this port is
+ * primarily going to FORWARD events, and not enqueue NEW or RELEASE events
+ * often.
+ *
+ * Note that this flag is only a hint, so PMDs must operate under the
+ * assumption that any port can enqueue an event with any type of op.
+ *
+ *  @see rte_event_port_setup()
+ */
 
 /** Event port configuration structure */
 struct rte_event_port_conf {
-- 
2.30.2


  parent reply	other threads:[~2021-10-14 14:52 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-09 12:54 [dpdk-dev] [PATCH 0/2] eventdev: add port usage hints Harry van Haaren
2021-09-09 12:54 ` [dpdk-dev] [PATCH 1/2] lib/eventdev: add usage hints to port configure API Harry van Haaren
2021-09-16  4:59   ` Jerin Jacob
2021-09-16 11:53     ` Van Haaren, Harry
2021-10-14 14:51   ` Harry van Haaren [this message]
2021-10-14 14:51     ` [dpdk-dev] [PATCH v2 2/4] examples/eventdev_pipeline: use port config hints Harry van Haaren
2021-10-14 14:51     ` [dpdk-dev] [PATCH v2 3/4] test-eventdev: add event port hints for perf mode Harry van Haaren
2021-10-14 14:51     ` [dpdk-dev] [PATCH v2 4/4] event/dlb2: optimize credit allocations using port hint flags Harry van Haaren
2021-10-20 13:18       ` Jerin Jacob
2021-10-20 14:08         ` Van Haaren, Harry
2021-10-20 16:21           ` Jerin Jacob
2021-09-09 12:54 ` [dpdk-dev] [PATCH 2/2] examples/eventdev_pipeline: use port config hints Harry van Haaren

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=20211014145141.679372-1-harry.van.haaren@intel.com \
    --to=harry.van.haaren@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=pravin.pathak@intel.com \
    --cc=rashmi.shetty@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).