DPDK patches and discussions
 help / color / mirror / Atom feed
From: Harry van Haaren <harry.van.haaren@intel.com>
To: dev@dpdk.org
Cc: pravin.pathak@intel.com, timothy.mcdaniel@intel.com,
	Harry van Haaren <harry.van.haaren@intel.com>
Subject: [dpdk-dev] [PATCH 1/2] lib/eventdev: add usage hints to port configure API
Date: Thu,  9 Sep 2021 12:54:21 +0000	[thread overview]
Message-ID: <20210909125422.31144-2-harry.van.haaren@intel.com> (raw)
In-Reply-To: <20210909125422.31144-1-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>
---
 lib/eventdev/rte_eventdev.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index a9c496fb62..159b580938 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -709,6 +709,29 @@ 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.
+ *
+ *  @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.
+ *
+ *  @see rte_event_port_setup()
+ */
+#define RTE_EVENT_PORT_CFG_HINT_WORKER         (1ULL << 4)
+/**< Hint that this event port will primarily events to the system.
+ * 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.
+ *
+ *  @see rte_event_port_setup()
+ */
 
 /** Event port configuration structure */
 struct rte_event_port_conf {
-- 
2.30.2


  reply	other threads:[~2021-09-09 12:54 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 ` Harry van Haaren [this message]
2021-09-16  4:59   ` [dpdk-dev] [PATCH 1/2] lib/eventdev: add usage hints to port configure API Jerin Jacob
2021-09-16 11:53     ` Van Haaren, Harry
2021-10-14 14:51   ` [dpdk-dev] [PATCH v2 1/4] eventdev: " Harry van Haaren
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=20210909125422.31144-2-harry.van.haaren@intel.com \
    --to=harry.van.haaren@intel.com \
    --cc=dev@dpdk.org \
    --cc=pravin.pathak@intel.com \
    --cc=timothy.mcdaniel@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).