https://bugs.dpdk.org/show_bug.cgi?id=1544 Bug ID: 1544 Summary: rte_eth_dev_adjust_nb_rx_tx_desc nb_tx_desc minimum incorrect Product: DPDK Version: 24.07 Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: mb@smartsharesystems.com Target Milestone: --- rte_eth_dev_adjust_nb_rx_tx_desc() does not consider tx_rs_thresh and tx_free_thresh when adjusting nb_tx_desc for minimum allowed TX descriptors. E.g. the IXGBE driver reports: dev_info.tx_desc_lim.nb_min = 32. dev_info.default_txconf.tx_rs_thresh = 32. dev_info.default_txconf.tx_free_thresh = 32. If calling rte_eth_dev_adjust_nb_rx_tx_desc() with nb_tx_desc = 32, it will adjust to nb_tx_desc = 32. But then rte_eth_tx_queue_setup() will fail afterwards, because it needs nb_tx_desc >= tx_rs_thresh + tx_free_thresh. Suggested fix: Under all circumstances, rte_eth_dev_adjust_nb_rx_tx_desc() should take tx_rs_thresh and tx_free_thresh into consideration when adjusting nb_tx_desc for minimum allowed. Preferably, it should take an optional "const struct rte_eth_txconf *tx_conf" parameter, like rte_eth_tx_queue_setup(), or it can use the tx_rs_thresh and tx_free_thresh values from default_txconf. -- You are receiving this mail because: You are the assignee for the bug.