|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3 |
|
| #
bd991897 |
| 10-Nov-2021 |
Mattias Rönnblom <[email protected]> |
eventdev: negate maintenance capability flag
Replace RTE_EVENT_DEV_CAP_REQUIRES_MAINT, which signaled the need for the application to call rte_event_maintain(), with RTE_EVENT_DEV_CAP_MAINTENANCE_FR
eventdev: negate maintenance capability flag
Replace RTE_EVENT_DEV_CAP_REQUIRES_MAINT, which signaled the need for the application to call rte_event_maintain(), with RTE_EVENT_DEV_CAP_MAINTENANCE_FREE, which does the opposite (i.e., signifies that the event device does not require maintenance).
This approach is more in line with how other eventdev hardware and/or software limitations are handled in the Eventdev API.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc2 |
|
| #
aaf3b44c |
| 01-Nov-2021 |
Mattias Rönnblom <[email protected]> |
event/dsw: use maintenance facility
Set the RTE_EVENT_DEV_CAP_REQUIRES_MAINT flag, and perform DSW background tasks on rte_event_maintain() calls.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@
event/dsw: use maintenance facility
Set the RTE_EVENT_DEV_CAP_REQUIRES_MAINT flag, and perform DSW background tasks on rte_event_maintain() calls.
Signed-off-by: Mattias Rönnblom <[email protected]> Tested-by: Richard Eklycke <[email protected]> Tested-by: Liron Himi <[email protected]>
show more ...
|
|
Revision tags: v21.11-rc1 |
|
| #
53548ad3 |
| 18-Oct-2021 |
Pavan Nikhilesh <[email protected]> |
eventdev: hide timer adapter PMD file
Hide rte_event_timer_adapter_pmd.h file as it is an internal file. Remove rte_ prefix from rte_event_timer_adapter_ops structure.
Signed-off-by: Pavan Nikhiles
eventdev: hide timer adapter PMD file
Hide rte_event_timer_adapter_pmd.h file as it is an internal file. Remove rte_ prefix from rte_event_timer_adapter_ops structure.
Signed-off-by: Pavan Nikhilesh <[email protected]>
show more ...
|
| #
85be9971 |
| 18-Oct-2021 |
Pavan Nikhilesh <[email protected]> |
drivers/event: invoke probing finish function
Invoke event_dev_probing_finish() function at the end of probing, this function sets the function pointers in the fp_ops flat array.
Signed-off-by: Pav
drivers/event: invoke probing finish function
Invoke event_dev_probing_finish() function at the end of probing, this function sets the function pointers in the fp_ops flat array.
Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Hemant Agrawal <[email protected]>
show more ...
|
| #
23d06e37 |
| 18-Oct-2021 |
Pavan Nikhilesh <[email protected]> |
eventdev: make driver interface as internal
Mark all the driver specific functions as internal, remove `rte` prefix from `struct rte_eventdev_ops`. Remove experimental tag from internal functions. R
eventdev: make driver interface as internal
Mark all the driver specific functions as internal, remove `rte` prefix from `struct rte_eventdev_ops`. Remove experimental tag from internal functions. Remove `eventdev_pmd.h` from non-internal header files.
Signed-off-by: Pavan Nikhilesh <[email protected]> Acked-by: Hemant Agrawal <[email protected]>
show more ...
|
|
Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
c93f222d |
| 14-Jun-2021 |
Mattias Rönnblom <[email protected]> |
event/dsw: flag adapters capabilities
Set the appropriate capability flags for the RX, crypto and timer eventdev adapters to use.
Signed-off-by: Mattias Rönnblom <[email protected]> Tes
event/dsw: flag adapters capabilities
Set the appropriate capability flags for the RX, crypto and timer eventdev adapters to use.
Signed-off-by: Mattias Rönnblom <[email protected]> Tested-by: Heng Wang <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2 |
|
| #
8b1af885 |
| 26-Jan-2021 |
Mattias Rönnblom <[email protected]> |
event/dsw: use C11 built-ins for atomics
Use C11-style GCC built-in functions for atomic operations.
Signed-off-by: Mattias Rönnblom <[email protected]>
|
| #
25187042 |
| 29-Jan-2021 |
Bruce Richardson <[email protected]> |
eventdev: make driver-only headers private
The rte_eventdev_pmd*.h files are for drivers only and should be private to DPDK, and not installed for app use.
Signed-off-by: Bruce Richardson <bruce.ri
eventdev: make driver-only headers private
The rte_eventdev_pmd*.h files are for drivers only and should be private to DPDK, and not installed for app use.
Signed-off-by: Bruce Richardson <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1 |
|
| #
75d11313 |
| 15-Oct-2020 |
Timothy McDaniel <[email protected]> |
eventdev: express DLB/DLB2 PMD constraints
This commit implements the eventdev ABI changes required by the DLB/DLB2 PMDs. Several data structures and constants are modified or added in this patch,
eventdev: express DLB/DLB2 PMD constraints
This commit implements the eventdev ABI changes required by the DLB/DLB2 PMDs. Several data structures and constants are modified or added in this patch, thereby requiring modifications to the dependent apps and examples.
The DLB/DLB2 hardware does not conform exactly to the eventdev interface. 1) It has a limit on the number of queues that may be linked to a port. 2) Some ports a further restricted to a maximum of 1 linked queue. 3) DLB does not have the ability to carry the flow_id as part of the event (QE) payload. Note that the DLB2 hardware is capable of carrying the flow_id.
Following is a detailed description of the changes that have been made.
1) Add new fields to the rte_event_dev_info struct. These fields allow the device to advertise its capabilities so that applications can take the appropriate actions based on those capabilities.
struct rte_event_dev_info { uint32_t max_event_port_links; /**< Maximum number of queues that can be linked to a single event * port by this device. */
uint8_t max_single_link_event_port_queue_pairs; /**< Maximum number of event ports and queues that are optimized for * (and only capable of) single-link configurations supported by this * device. These ports and queues are not accounted for in * max_event_ports or max_event_queues. */ }
2) Add a new field to the rte_event_dev_config struct. This field allows the application to specify how many of its ports are limited to a single link, or will be used in single link mode.
/** Event device configuration structure */ struct rte_event_dev_config { uint8_t nb_single_link_event_port_queues; /**< Number of event ports and queues that will be singly-linked to * each other. These are a subset of the overall event ports and * queues; this value cannot exceed *nb_event_ports* or * *nb_event_queues*. If the device has ports and queues that are * optimized for single-link usage, this field is a hint for how many * to allocate; otherwise, regular event ports and queues can be used. */ }
3) Replace the dedicated implicit_release_disabled field with a bit field of explicit port capabilities. The implicit_release_disable functionality is assigned to one bit, and a port-is-single-link-only attribute is assigned to other, with the remaining bits available for future assignment.
* Event port configuration bitmap flags */ #define RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL (1ULL << 0) /**< Configure the port not to release outstanding events in * rte_event_dev_dequeue_burst(). If set, all events received through * the port must be explicitly released with RTE_EVENT_OP_RELEASE or * RTE_EVENT_OP_FORWARD. Must be unset if the device is not * RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE capable. */ #define RTE_EVENT_PORT_CFG_SINGLE_LINK (1ULL << 1)
/**< This event port links only to a single event queue. * * @see rte_event_port_setup(), rte_event_port_link() */
#define RTE_EVENT_PORT_ATTR_IMPLICIT_RELEASE_DISABLE 3 /** * The implicit release disable attribute of the port */
struct rte_event_port_conf { uint32_t event_port_cfg; /**< Port cfg flags(EVENT_PORT_CFG_) */ }
This patch also removes the depreciation notice and announce the new eventdev ABI changes in release note.
Signed-off-by: Timothy McDaniel <[email protected]> Acked-by: Harry van Haaren <[email protected]> Acked-by: Pavan Nikhilesh <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1 |
|
| #
570ac17b |
| 09-Mar-2020 |
Mattias Rönnblom <[email protected]> |
event/dsw: avoid migration waves in large systems
DSW limits the rate of migrations on a per-port basis. Hence, as the number of cores grows, so does the total migration capacity.
In high core-coun
event/dsw: avoid migration waves in large systems
DSW limits the rate of migrations on a per-port basis. Hence, as the number of cores grows, so does the total migration capacity.
In high core-count systems, this allows for a situation where flows are migrated to a lightly loaded port which recently already received a number of new flows (from other ports). The processing load generated by these new flows may not yet be reflected in the lightly loaded port's load estimate. The result is that the previously lightly loaded port is now overloaded.
This patch adds a rough estimate of the size of the inbound migrations to a particular port, which can be factored into the migration logic, avoiding the above problem.
Signed-off-by: Mattias Rönnblom <[email protected]>
show more ...
|
|
Revision tags: v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1 |
|
| #
587e1fe1 |
| 20-Jan-2020 |
Mattias Rönnblom <[email protected]> |
event/dsw: use custom element size ring for control
Replace DSW's use of regular DPDK rings (and code for packing/unpacking control messages into void pointers) with custom size rings.
In addition
event/dsw: use custom element size ring for control
Replace DSW's use of regular DPDK rings (and code for packing/unpacking control messages into void pointers) with custom size rings.
In addition to cleaner code, this change allows DSW to support up to the eventdev API's maximum of 255 ports by tweaking DSW_MAX_PORTS.
Signed-off-by: Mattias Rönnblom <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]>
show more ...
|
|
Revision tags: v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1, v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1, v19.05 |
|
| #
7e192bdb |
| 10-May-2019 |
Mattias Rönnblom <[email protected]> |
event/dsw: ignore scheduling type for single-link queues
The scheduling type parameter is not applicable for single link queues. DSW would, at the time of rte_event_queue_setup(), erroneously verify
event/dsw: ignore scheduling type for single-link queues
The scheduling type parameter is not applicable for single link queues. DSW would, at the time of rte_event_queue_setup(), erroneously verify that scheduling type was one of the supported types, and returned -ENOTSUP in case of RTE_SCHED_TYPE_ORDERED.
Fixes: 4540ee9c68 ("event/dsw: add device and queue configuration") Cc: [email protected]
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Gage Eads <[email protected]>
show more ...
|
|
Revision tags: v19.05-rc4, v19.05-rc3 |
|
| #
773025ca |
| 03-May-2019 |
Mattias Rönnblom <[email protected]> |
event/dsw: fix capability flags
The DSW event device didn't set RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT and RTE_EVENT_DEV_CAP_NONSEQ_MODE, even though it has both these capabilities.
Fixes: 4540ee9c6
event/dsw: fix capability flags
The DSW event device didn't set RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT and RTE_EVENT_DEV_CAP_NONSEQ_MODE, even though it has both these capabilities.
Fixes: 4540ee9c68 ("event/dsw: add device and queue configuration") Cc: [email protected]
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
|
Revision tags: v19.05-rc2, v19.05-rc1, v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2, v19.02-rc1, v18.11, v18.11-rc5, v18.11-rc4, v18.11-rc3, v18.11-rc2, v18.11-rc1 |
|
| #
f3c5899b |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: implement xstats counters
The DSW event device now implements the 'xstats' interface and a number of port- and device-level counters.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@er
event/dsw: implement xstats counters
The DSW event device now implements the 'xstats' interface and a number of port- and device-level counters.
Signed-off-by: Mattias Rönnblom <[email protected]>
show more ...
|
| #
f6257b22 |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add load balancing
The DSW event device will now attempt to migrate (move) flows between ports in order to balance the load.
Signed-off-by: Mattias Rönnblom <[email protected]
event/dsw: add load balancing
The DSW event device will now attempt to migrate (move) flows between ports in order to balance the load.
Signed-off-by: Mattias Rönnblom <[email protected]>
show more ...
|
| #
2b7bc6a5 |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add port load measurements
The DSW event device port now attempts to estimate its load (i.e. how busy it is). This is required for load balancing to work (although load balancing is not i
event/dsw: add port load measurements
The DSW event device port now attempts to estimate its load (i.e. how busy it is). This is required for load balancing to work (although load balancing is not included in this patch), and may also be useful for debugging purposes.
Signed-off-by: Mattias Rönnblom <[email protected]>
show more ...
|
| #
1c8e3caa |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add event scheduling and device start/stop
With this patch, the DSW event device can be started and stopped, and also supports scheduling events between ports.
Signed-off-by: Mattias Rön
event/dsw: add event scheduling and device start/stop
With this patch, the DSW event device can be started and stopped, and also supports scheduling events between ports.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
| #
0cb8b0a0 |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: support linking/unlinking ports
Added support for linking and unlinking ports to queues in a DSW event device.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: J
event/dsw: support linking/unlinking ports
Added support for linking and unlinking ports to queues in a DSW event device.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
| #
236acd0d |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add port configuration
Allow port setup and release in the DSW event device.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <jerin.jacob@caviumnetw
event/dsw: add port configuration
Allow port setup and release in the DSW event device.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
| #
4540ee9c |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add device and queue configuration
Allow queue- and device-level configuration for and retrieval of contextual information from a DSW event device.
Signed-off-by: Mattias Rönnblom <matti
event/dsw: add device and queue configuration
Allow queue- and device-level configuration for and retrieval of contextual information from a DSW event device.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|
| #
46a186b1 |
| 18-Sep-2018 |
Mattias Rönnblom <[email protected]> |
event/dsw: add device registration and build system
This patch contains the Meson and GNU Make build system extensions required for the Distributed Event Device, and also the initialization code for
event/dsw: add device registration and build system
This patch contains the Meson and GNU Make build system extensions required for the Distributed Event Device, and also the initialization code for the driver itself.
Signed-off-by: Mattias Rönnblom <[email protected]> Acked-by: Jerin Jacob <[email protected]>
show more ...
|