@@ -147,21 +147,23 @@ void odp_schedule_resume(void);
void odp_schedule_release_atomic(void);
/**
- * Release the current ordered context
+ * Release the ordered context associated with an event
*
- * This call is valid only for source queues with ordered synchronization. It
- * hints the scheduler that the user has done all enqueues that need to maintain
- * event order in the current ordered context. The scheduler is allowed to
- * release the ordered context of this thread and avoid reordering any following
- * enqueues. However, the context may be still held until the next
- * odp_schedule() or odp_schedule_multi() call - this call allows but does not
- * force the scheduler to release the context early.
+ * This call tells the scheduler that order no longer needs to be maintained
+ * for the specified event. This call is needed if, for example, the caller
+ * will free or otherwise dispose of an event that came from an ordered queue
+ * without enqueuing it to another queue. This call does not effect the
+ * ordering associated with any other event held by the caller.
*
* Early ordered context release may increase parallelism and thus system
- * performance, since scheduler may start reordering events sooner than the next
- * schedule call.
+ * performance, since scheduler may start reordering events sooner than the
+ * next schedule call.
+ *
+ * @param ev The event to be released from order preservation. If the
+ * specified event did not originate from an ordered queue
+ * this call does nothing.
*/
-void odp_schedule_release_ordered(void);
+void odp_schedule_release_ordered(odp_event_t ev);
/**
* Prefetch events for next schedule call
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> --- include/odp/api/schedule.h | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-)