#
b6a7e685 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.c
app: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
51094872 |
| 17-Nov-2021 |
Joyce Kong <joyce.kong@arm.com> |
app/eventdev: use compiler atomics for shared data sync
Convert rte_atomic usages to compiler atomic built-ins for shared data sync in eventdev cases.
Signed-off-by: Joyce Kong <joyce.kong@arm.com>
app/eventdev: use compiler atomics for shared data sync
Convert rte_atomic usages to compiler atomic built-ins for shared data sync in eventdev cases.
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
show more ...
|
#
a4931d5b |
| 26-Oct-2020 |
Thomas Monjalon <thomas@monjalon.net> |
app/eventdev: switch flow ID to dynamic mbuf field
The order test stored the flow ID in the deprecated mbuf field udata64. It is moved to a dynamic field in order to allow removal of udata64.
Signe
app/eventdev: switch flow ID to dynamic mbuf field
The order test stored the flow ID in the deprecated mbuf field udata64. It is moved to a dynamic field in order to allow removal of udata64.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
75d11313 |
| 15-Oct-2020 |
Timothy McDaniel <timothy.mcdaniel@intel.com> |
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 <timothy.mcdaniel@intel.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com>
show more ...
|
#
33011cb3 |
| 09-Feb-2020 |
Thomas Monjalon <thomas@monjalon.net> |
replace always-inline attributes
There is a macro __rte_always_inline, forcing functions to be inlined, which is now used where appropriate for consistency.
Signed-off-by: Thomas Monjalon <thomas@m
replace always-inline attributes
There is a macro __rte_always_inline, forcing functions to be inlined, which is now used where appropriate for consistency.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
f0959283 |
| 29-Mar-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
app/eventdev: add option for global dequeue timeout
Add option to provide a global dequeue timeout that is used to create the eventdev. The dequeue timeout provided will be common across all the wor
app/eventdev: add option for global dequeue timeout
Add option to provide a global dequeue timeout that is used to create the eventdev. The dequeue timeout provided will be common across all the worker ports. If the eventdev hardware supports power management through dequeue timeout then this option can be used for verifying power demands at various packet rates.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
43d162bc |
| 26-Nov-2018 |
Thomas Monjalon <thomas@monjalon.net> |
fix dpdk.org URLs
The DPDK website has a new URL scheme since June 2018.
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: John McNamara <john.mcnamara@intel.com>
|
#
9d0c15b6 |
| 13-Jul-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/eventdev: fix order test service init
Previous modification to evt_service_setup() broke order_queue/atq tests.
Fixes: b0333c55dfa5 ("app/eventdev: add service core configuration") Cc: stable@d
app/eventdev: fix order test service init
Previous modification to evt_service_setup() broke order_queue/atq tests.
Fixes: b0333c55dfa5 ("app/eventdev: add service core configuration") Cc: stable@dpdk.org
Reported-by: Gage Eads <gage.eads@intel.com> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Gage Eads <gage.eads@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
53a3b7e8 |
| 08-Jan-2018 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
app: use SPDX tag for Cavium copyright files
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
|
#
57305d79 |
| 25-Oct-2017 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
app/testeventdev: use service cores
Use service cores for offloading event scheduling in case of centralized scheduling instead of calling the schedule api directly. This removes the dependency on d
app/testeventdev: use service cores
Use service cores for offloading event scheduling in case of centralized scheduling instead of calling the schedule api directly. This removes the dependency on dedicated scheduler core specified by giving command line option --slcore.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
13370a38 |
| 25-Oct-2017 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
eventdev: fix inconsistency in queue config
With the current scheme of event queue configuration the cfg schedule type macros (RTE_EVENT_QUEUE_CFG_*_ONLY) are inconsistent with the event schedule ty
eventdev: fix inconsistency in queue config
With the current scheme of event queue configuration the cfg schedule type macros (RTE_EVENT_QUEUE_CFG_*_ONLY) are inconsistent with the event schedule type (RTE_SCHED_TYPE_*) this requires unnecessary conversion between the fastpath and slowpath API's while scheduling events or configuring event queues.
This patch aims to fix such inconsistency by using event schedule types (RTE_SCHED_TYPE_*) for event queue configuration.
This patch also fixes example/eventdev_pipeline_sw_pmd as it doesn't convert RTE_EVENT_QUEUE_CFG_*_ONLY to RTE_SCHED_TYPE_* which leads to improper events being enqueued to the eventdev.
Fixes: adb5d5486c39 ("examples/eventdev_pipeline_sw_pmd: add sample app")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
show more ...
|
#
3abcd29f |
| 08-Jul-2017 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
update Cavium Inc copyright headers
Replace the incorrect reference to "Cavium Networks", "Cavium Ltd" company name with correct the "Cavium, Inc" company name in copyright headers.
Signed-off-by:
update Cavium Inc copyright headers
Replace the incorrect reference to "Cavium Networks", "Cavium Ltd" company name with correct the "Cavium, Inc" company name in copyright headers.
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
4d04346f |
| 04-Jul-2017 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
app/testeventdev: add order queue worker functions
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
|
#
02ec2955 |
| 04-Jul-2017 |
Jerin Jacob <jerin.jacob@caviumnetworks.com> |
app/testeventdev: add order queue test
The order queue test configures the eventdev with two queues and an event producer to inject the events to q0(ordered) queue. Both q0(ordered) and q1(atomic) a
app/testeventdev: add order queue test
The order queue test configures the eventdev with two queues and an event producer to inject the events to q0(ordered) queue. Both q0(ordered) and q1(atomic) are linked to all the workers.
The event producer maintains a sequence number per flow and injects the events to the ordered queue.
The worker receives the events from ordered queue and forwards to atomic queue. Since the events from an ordered queue can be processed in parallel on the different workers, the ingress order of events might have changed on the downsteam atomic queue enqueue. On enqueue to the atomic queue, the eventdev PMD driver reorders the event to the original ingress order i.e producer ingress order).
When the event is dequeued from the atomic queue by the worker, this test verifies the expected sequence number of associated event per flow by comparing the free running expected sequence number per flow.
Example command to run order queue test:
sudo build/app/dpdk-test-eventdev --vdev=event_sw0 --\ --test=order_queue --plcores 1 --wlcores 2,3
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
show more ...
|