examples: adjust Rx and Tx descriptors to device limits
[dpdk.git] / examples / performance-thread / l3fwd-thread / main.c
index 2d28a0f..c790ff9 100644 (file)
@@ -185,10 +185,10 @@ cb_parse_ptype(__rte_unused uint8_t port, __rte_unused uint16_t queue,
  */
 
 #define NB_MBUF RTE_MAX(\
-               (nb_ports*nb_rx_queue*RTE_TEST_RX_DESC_DEFAULT +       \
-               nb_ports*nb_lcores*MAX_PKT_BURST +                     \
-               nb_ports*n_tx_queue*RTE_TEST_TX_DESC_DEFAULT +         \
-               nb_lcores*MEMPOOL_CACHE_SIZE),                         \
+               (nb_ports*nb_rx_queue*nb_rxd +      \
+               nb_ports*nb_lcores*MAX_PKT_BURST +  \
+               nb_ports*n_tx_queue*nb_txd +        \
+               nb_lcores*MEMPOOL_CACHE_SIZE),      \
                (unsigned)8192)
 
 #define MAX_PKT_BURST     32
@@ -3571,6 +3571,13 @@ main(int argc, char **argv)
                        rte_exit(EXIT_FAILURE, "Cannot configure device: err=%d, port=%d\n",
                                ret, portid);
 
+               ret = rte_eth_dev_adjust_nb_rx_tx_desc(portid, &nb_rxd,
+                                                      &nb_txd);
+               if (ret < 0)
+                       rte_exit(EXIT_FAILURE,
+                                "rte_eth_dev_adjust_nb_rx_tx_desc: err=%d, port=%d\n",
+                                ret, portid);
+
                rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
                print_ethaddr(" Address:", &ports_eth_addr[portid]);
                printf(", ");