In `l3fwd` application, Tx queues are configured per lcore to enable a lockless design and achieve optimal performance.
The `MAX_TX_QUEUE_PER_PORT` macro, defined as `RTE_MAX_ETHPORTS`, introduced an artificial constraint on the number of Tx queues and limited core-scaling performance. This patch removes the unused `MAX_TX_QUEUE_PER_PORT` macro and redundant Tx queue check, allowing Tx queues to scale directly with the no. of lcores. Signed-off-by: Sivaprasad Tummala <[email protected]> --- examples/l3fwd/main.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index ae3b4f6439..bdf59b5399 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -49,7 +49,6 @@ #include "l3fwd_event.h" #include "l3fwd_route.h" -#define MAX_TX_QUEUE_PER_PORT RTE_MAX_LCORE #define MAX_RX_QUEUE_PER_PORT 128 #define MAX_LCORE_PARAMS 1024 @@ -1341,8 +1340,6 @@ l3fwd_poll_resource_setup(void) nb_rx_queue = get_port_n_rx_queues(portid); n_tx_queue = nb_lcores; - if (n_tx_queue > MAX_TX_QUEUE_PER_PORT) - n_tx_queue = MAX_TX_QUEUE_PER_PORT; printf("Creating queues: nb_rxq=%d nb_txq=%u... ", nb_rx_queue, (unsigned)n_tx_queue ); -- 2.43.0

