[v1,7/7] eventdev: fix documentation for counting single-link ports
Checks
Commit Message
The documentation of how single-link port-queue pairs were counted in
the rte_event_dev_config structure did not match the actual
implementation and, if following the documentation, certain valid
port/queue configurations would have been impossible to configure. Fix
this by changing the documentation to match the implementation - however
confusing that implementation ends up being.
Bugzilla ID: 1368
Fixes: 75d113136f38 ("eventdev: express DLB/DLB2 PMD constraints")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
lib/eventdev/rte_eventdev.h | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
--
2.40.1
@@ -490,7 +490,10 @@ struct rte_event_dev_info {
uint32_t dequeue_timeout_ns;
/**< Configured global dequeue timeout(ns) for this device */
uint8_t max_event_queues;
- /**< Maximum event queues supported by this device */
+ /**< Maximum event queues supported by this device.
+ * This excludes any queue-port pairs covered by the
+ * *max_single_link_event_port_queue_pairs* value in this structure.
+ */
uint32_t max_event_queue_flows;
/**< Maximum number of flows within an event queue supported by this device*/
uint8_t max_event_queue_priority_levels;
@@ -506,7 +509,10 @@ struct rte_event_dev_info {
* @ref RTE_EVENT_DEV_PRIORITY_HIGHEST and @ref RTE_EVENT_DEV_PRIORITY_LOWEST.
*/
uint8_t max_event_ports;
- /**< Maximum number of event ports supported by this device */
+ /**< Maximum number of event ports supported by this device
+ * This excludes any queue-port pairs covered by the
+ * *max_single_link_event_port_queue_pairs* value in this structure.
+ */
uint8_t max_event_port_dequeue_depth;
/**< Maximum number of events that can be dequeued at a time from an event port
* on this device.
@@ -618,13 +624,23 @@ struct rte_event_dev_config {
*/
uint8_t nb_event_queues;
/**< Number of event queues to configure on this device.
- * This value cannot exceed @ref rte_event_dev_info.max_event_queues
- * returned by rte_event_dev_info_get()
+ * This value *includes* any single-link queue-port pairs to be used.
+ * This value cannot exceed @ref rte_event_dev_info.max_event_queues +
+ * @ref rte_event_dev_info.max_single_link_event_port_queue_pairs
+ * returned by rte_event_dev_info_get().
+ * The number of non-single-link queues i.e. this value less
+ * *nb_single_link_event_port_queues* in this struct, cannot exceed
+ * @ref rte_event_dev_info.max_event_queues
*/
uint8_t nb_event_ports;
/**< Number of event ports to configure on this device.
- * This value cannot exceed @ref rte_event_dev_info.max_event_ports
- * returned by rte_event_dev_info_get()
+ * This value *includes* any single-link queue-port pairs to be used.
+ * This value cannot exceed @ref rte_event_dev_info.max_event_ports +
+ * @ref rte_event_dev_info.max_single_link_event_port_queue_pairs
+ * returned by rte_event_dev_info_get().
+ * The number of non-single-link ports i.e. this value less
+ * *nb_single_link_event_port_queues* in this struct, cannot exceed
+ * @ref rte_event_dev_info.max_event_ports
*/
uint32_t nb_event_queue_flows;
/**< Max number of flows needed for a single event queue on this device.