From cec04e240d066183fccf29dbe19a13b763e2bd6b Mon Sep 17 00:00:00 2001 From: Tim McDaniel Date: Wed, 6 Sep 2017 10:42:07 -0500 Subject: [PATCH] eventdev: clarify usage of forward and release ops Update doxygen to make it clear that RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_RELEASE must only be enqueued to the same port that the original event was dequeued from. Signed-off-by: Tim McDaniel Acked-by: Jerin Jacob --- lib/librte_eventdev/rte_eventdev.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h index 128bc52215..cf246a4c08 100644 --- a/lib/librte_eventdev/rte_eventdev.h +++ b/lib/librte_eventdev/rte_eventdev.h @@ -882,7 +882,10 @@ rte_event_dev_close(uint8_t dev_id); #define RTE_EVENT_OP_FORWARD 1 /**< The CPU use this operation to forward the event to different event queue or * change to new application specific flow or schedule type to enable - * pipelining + * pipelining. + * + * This operation must only be enqueued to the same port that the + * event to be forwarded was dequeued from. */ #define RTE_EVENT_OP_RELEASE 2 /**< Release the flow context associated with the schedule type. @@ -912,6 +915,9 @@ rte_event_dev_close(uint8_t dev_id); * or no scheduling context is held then this function may be an NOOP, * depending on the implementation. * + * This operation must only be enqueued to the same port that the + * event to be released was dequeued from. + * */ /** @@ -1144,6 +1150,9 @@ __rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id, * The *nb_events* parameter is the number of event objects to enqueue which are * supplied in the *ev* array of *rte_event* structure. * + * Event operations RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_RELEASE must only be + * enqueued to the same port that their associated events were dequeued from. + * * The rte_event_enqueue_burst() function returns the number of * events objects it actually enqueued. A return value equal to *nb_events* * means that all event objects have been enqueued. @@ -1346,6 +1355,9 @@ rte_event_dequeue_timeout_ticks(uint8_t dev_id, uint64_t ns, * with RTE_EVENT_OP_RELEASE operation can be used to release the * contexts early. * + * Event operations RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_RELEASE must only be + * enqueued to the same port that their associated events were dequeued from. + * * @param dev_id * The identifier of the device. * @param port_id -- 2.20.1