summaryrefslogtreecommitdiff
path: root/lib/eventdev/eventdev_trace_points.c
AgeCommit message (Collapse)Author
2024-10-08eventdev: add event pre-schedule hintPavan Nikhilesh
Add a new eventdev API to provide a hint to the eventdev PMD to pre-schedule the next event into the event port, without releasing the current flow context. Event device that support this feature advertises the capability using the RTE_EVENT_DEV_CAP_PRESCHEDULE_EXPLICIT capability flag. Application can invoke `rte_event_port_preschedule` to hint the PMD, if event device does not support this feature it is treated as a no-op. Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Jerin Jacob <[email protected]>
2024-10-08eventdev: add event port pre-schedule modifyPavan Nikhilesh
Some event devices allow pre-schedule types to be modified at runtime on an event port. Add `RTE_EVENT_DEV_CAP_PER_PORT_PRESCHEDULE` capability to indicate that the event device supports this feature. Add `rte_event_port_preschedule_modify()` API to modify the pre-schedule type at runtime. To avoid fastpath capability checks, the API reports -ENOTSUP if the event device does not support this feature. Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Jerin Jacob <[email protected]>
2023-10-04eventdev: introduce link profilesPavan Nikhilesh
A collection of event queues linked to an event port can be associated with a unique identifier called as a link profile, multiple such profiles can be created based on the event device capability using the function `rte_event_port_profile_links_set` which takes arguments similar to `rte_event_port_link` in addition to the profile identifier. The maximum link profiles that are supported by an event device is advertised through the structure member `rte_event_dev_info::max_profiles_per_port`. By default, event ports are configured to use the link profile 0 on initialization. Once multiple link profiles are set up and the event device is started, the application can use the function `rte_event_port_profile_switch` to change the currently active profile on an event port. This effects the next `rte_event_dequeue_burst` call, where the event queues associated with the newly active link profile will participate in scheduling. An unlink function `rte_event_port_profile_unlink` is provided to modify the links associated to a profile, and `rte_event_port_profile_links_get` can be used to retrieve the links associated with a profile. Using Link profiles can reduce the overhead of linking/unlinking and waiting for unlinks in progress in fast-path and gives applications the ability to switch between preset profiles on the fly. Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Jerin Jacob <[email protected]>
2023-02-07eventdev: add trace pointsAmit Prakash Shukla
Add trace points for eventdev functions. Signed-off-by: Amit Prakash Shukla <[email protected]> Acked-by: Shijith Thotton <[email protected]>
2021-11-04eventdev: add port maintenance APIMattias Rönnblom
Extend Eventdev API to allow for event devices which require various forms of internal processing to happen, even when events are not enqueued to or dequeued from a port. Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]> Tested-by: Richard Eklycke <[email protected]> Tested-by: Liron Himi <[email protected]>
2021-10-21eventdev: make trace API internalPavan Nikhilesh
Slowpath trace APIs are only used in rte_eventdev.c so make them as internal. Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Jay Jayatheerthan <[email protected]> Acked-by: Abhinandan Gujjar <[email protected]>
2021-04-21lib: remove librte_ prefix from directory namesBruce Richardson
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal' Signed-off-by: Bruce Richardson <[email protected]>