On 2024-06-22 00:24, Abdullah Sevincer wrote:
This commit adds support flag to enable enqueue reorder
feature.


"Enqueue reorder" is how this feature is implemented (on DLB2), but it's not a good description of what it does (or, allows for).

I've called this feature "independent enqueue" in the past. I have a vague memory of someone from Intel calling it something else ("out-of-order enqueue" maybe?), but I can't seem to be able to find that e-mail.

When this flag is enabled in the port configuration PMD
restores dequeue order on enqueue if applications happen to
change it.


If this feature is enabled, the application is free to enqueue events in any order, while still maintaining ordered/atomic semantics. That's how I would characterize it.

You may also want to note that the DPDK dispatcher library depends on this flag to function properly on burst-capable event devices.

This patch set should also include a patch to DSW, where it advertises this capability.

Ideally, you should also include a patch to the dispatcher library, which checks for this flag on RTE_EVENT_DEV_CAP_BURST_MODE event devices.

Signed-off-by: Abdullah Sevincer <abdullah.sevin...@intel.com>
---
  lib/eventdev/rte_eventdev.h | 8 ++++++++
  1 file changed, 8 insertions(+)

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index 08e5f9320b..f4220dd5dc 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -1073,6 +1073,14 @@ rte_event_queue_attr_set(uint8_t dev_id, uint8_t 
queue_id, uint32_t attr_id,
   *  @see rte_event_port_setup()
   */
+#define RTE_EVENT_PORT_CFG_RESTORE_DEQ_ORDER (1ULL << 5)
+/**< Flag to enable feature enqueue reordering to dequeue.
+ * The feature restores dequeue order on enqueue if applications
+ * happen to change the order.
+ *
+ *  @see rte_event_port_setup()
+ */
+
  /** Event port configuration structure */
  struct rte_event_port_conf {
        int32_t new_event_threshold;

Reply via email to