Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PATCH v4] api: sched: clarify event ordering in ordered contexts #1920

Merged
merged 1 commit into from
Dec 19, 2023

Conversation

JannePeltonen
Copy link
Collaborator

Describe event ordering in ordered scheduling contexts more accurately. In particular, events in a destination queue are not necessarily in the same order as they are in the source queue if odp_schedule_multi() returns multiple events (sharing single scheduling synchronization context) and if the ODP application enqueues the events in a different order. Also, other enqueued events than the scheduled ones have a well defined ordering.

This API change is not intended to change any functionality but just tries to document more accurately what already is the expected behaviour.

@odpbuild odpbuild changed the title api: sched: clarify event ordering in ordered contexts [PATCH v1] api: sched: clarify event ordering in ordered contexts Oct 3, 2023
@odpbuild odpbuild changed the title [PATCH v1] api: sched: clarify event ordering in ordered contexts [PATCH v2] api: sched: clarify event ordering in ordered contexts Dec 12, 2023
@JannePeltonen
Copy link
Collaborator Author

v2: order of events enqueued by single thread is the enqueue order, even across different scheduling synchronization contexts (i.e. after separate odp_schedule() calls.

The previous version of the patch is available in branch sched-ordering-v1 for reference.

@odpbuild odpbuild changed the title [PATCH v2] api: sched: clarify event ordering in ordered contexts [PATCH v3] api: sched: clarify event ordering in ordered contexts Dec 18, 2023
@JannePeltonen
Copy link
Collaborator Author

v3: Added a couple of clarifications in the text and rebased.

@JannePeltonen
Copy link
Collaborator Author

Previous version is available in sched-ordering-v2 branch.

@psavol psavol added the API Ready API change ready to be merged (with the next API version increment) label Dec 18, 2023
@PavanNikhilesh
Copy link
Contributor

Acked-by: Pavan Nikhilesh pbhagavatula@marvell.com

* on the scheduling synchronization context. The ordering rules apply
* regarless of the type (scheduled or plain) or schedule type (atomic,
* ordered, or parallel) of the destination queue. If the order type of
* the destination queue is ODP_QUEUE_ORDER_IGNORE, then the oder between
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oder/order

Describe event ordering in ordered scheduling contexts more accurately.
In particular, events in a destination queue are not necessarily in the
same order as they are in the source queue if odp_schedule_multi() returns
multiple events (sharing single scheduling synchronization context) and
if the ODP application enqueues the events in a different order. Also,
other enqueued events than the scheduled ones have a well defined ordering.

This API change is not intended to change any functionality but just tries
to document more accurately what already is the expected behaviour.

Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
@odpbuild odpbuild changed the title [PATCH v3] api: sched: clarify event ordering in ordered contexts [PATCH v4] api: sched: clarify event ordering in ordered contexts Dec 19, 2023
@JannePeltonen
Copy link
Collaborator Author

v4: Fixed the typo and rebased.

@psavol psavol merged commit f3a36b8 into OpenDataPlane:master Dec 19, 2023
171 checks passed
@JannePeltonen JannePeltonen deleted the sched-ordering branch December 20, 2023 06:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Ready API change ready to be merged (with the next API version increment)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants