summaryrefslogtreecommitdiff
path: root/lib/net
diff options
context:
space:
mode:
authorMattias Rönnblom <mattias.ronnblom@ericsson.com>2024-06-07 15:36:15 +0200
committerJerin Jacob <jerinj@marvell.com>2024-06-08 08:08:29 +0200
commit844ac60e8759cb23260a8c350715ff7480532f46 (patch)
treebd48598134ca288fb337329594c1c9c6b8151573 /lib/net
parent9c34da17ab4e05ff44647205b5041f0089afedcd (diff)
event/dsw: support explicit release only modeHEADmain
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