diff options
author | Mattias Rönnblom <mattias.ronnblom@ericsson.com> | 2024-06-07 15:36:15 +0200 |
---|---|---|
committer | Jerin Jacob <jerinj@marvell.com> | 2024-06-08 08:08:29 +0200 |
commit | 844ac60e8759cb23260a8c350715ff7480532f46 (patch) | |
tree | bd48598134ca288fb337329594c1c9c6b8151573 /lib/net | |
parent | 9c34da17ab4e05ff44647205b5041f0089afedcd (diff) |
Add the RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE capability to the
DSW event device.
This feature may be used by an EAL thread to pull more work from the
work scheduler, without giving up the option to forward events
originating from a previous dequeue batch. This in turn allows an EAL
thread to be productive while waiting for a hardware accelerator to
complete some operation.
Prior to this change, DSW didn't make any distinction between
RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_NEW type events, other than that
new events would be backpressured earlier.
After this change, DSW tracks the number of released events (i.e.,
events of type RTE_EVENT_OP_FORWARD and RTE_EVENT_OP_RELEASE) that has
been enqueued.
For efficiency reasons, DSW does not track the identity of individual
events. This in turn implies that a certain stage in the flow
migration process, DSW must wait for all pending releases (on the
migration source port, only) to be received from the application, to
assure that no event pertaining to any of the to-be-migrated flows are
being processed.
With this change, DSW starts making a distinction between forward and
new type events for credit allocation purposes. Only RTE_EVENT_OP_NEW
events needs credits. All events marked as RTE_EVENT_OP_FORWARD must
have a corresponding dequeued event from a previous dequeue batch.
Flow migration for flows on RTE_SCHED_TYPE_PARALLEL queues remains
unaffected by this change.
A side-effect of the tweaked DSW migration logic is that the migration
latency is reduced, regardless if implicit release is enabled or not.
Another side-effect is that migrated flows are now not processed
during any part of the migration procedure. An upside of this change
it reduces the load of the overloaded port. A downside is it
introduces slightly more jitter for the migrated flows.
This patch is contains various minor refactorings, improved
formatting, fixed spelling, and the removal of unnessary memory
barriers.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Diffstat (limited to 'lib/net')
0 files changed, 0 insertions, 0 deletions