| a20b2c01 | 15-Oct-2020 |
Bruce Richardson <[email protected]> |
build: standardize component names and defines
As discussed on the dpdk-dev mailing list[1], we can make some easy improvements in standardizing the naming of the various components in DPDK, and the
build: standardize component names and defines
As discussed on the dpdk-dev mailing list[1], we can make some easy improvements in standardizing the naming of the various components in DPDK, and their associated feature-enabled macros.
Following this patch, each library will have the name in format, 'librte_<name>.so', and the macro indicating that library is enabled in the build will have the form 'RTE_LIB_<NAME>'.
Similarly, for libraries, the equivalent name formats and macros are: 'librte_<class>_<name>.so' and 'RTE_<CLASS>_<NAME>', where class is the device type taken from the relevant driver subdirectory name, i.e. 'net', 'crypto' etc.
To avoid too many changes at once for end applications, the old macro names will still be provided in the build in this release, but will be removed subsequently.
[1] http://inbox.dpdk.org/dev/[email protected]/t/#u
Signed-off-by: Bruce Richardson <[email protected]> Acked-by: Luca Boccassi <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: Rosen Xu <[email protected]>
show more ...
|
| 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 ...
|