On 5/22/2018 11:22 AM, Bernard Iremonger wrote: > Call the rte_eth_rxq_info_get() and rte_eth_txq_info_get() functions > to update the number of rx and tx descriptors. > > Fixes: d44f8a485f5d ("app/testpmd: enable per queue configure") > Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com> > --- > app/test-pmd/config.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c > index 4520084..339651f 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -1839,6 +1839,9 @@ struct igb_ring_desc_16_bytes { > struct rte_eth_txconf *tx_conf = &ports[pid].tx_conf[0]; > uint16_t *nb_rx_desc = &ports[pid].nb_rx_desc[0]; > uint16_t *nb_tx_desc = &ports[pid].nb_tx_desc[0]; > + struct rte_eth_rxq_info rx_qinfo; > + struct rte_eth_txq_info tx_qinfo; > + int32_t rc; > > /* per port config */ > printf(" port %d: RX queue number: %d Tx queue number: %d\n", > @@ -1850,6 +1853,10 @@ struct igb_ring_desc_16_bytes { > > /* per rx queue config only for first queue to be less verbose > */ > for (qid = 0; qid < 1; qid++) { > + rc = rte_eth_rx_queue_info_get(pid, qid, &rx_qinfo); > + if (!rc) > + nb_rx_desc[qid] = rx_qinfo.nb_desc;
Hi Bernard, Isn't this doing same thing with previous patch, in a different location? Do you think testpmd config variable should be updated? Why not just use the value for print but not save it? > + > printf(" RX queue: %d\n", qid); > printf(" RX desc=%d - RX free threshold=%d\n", > nb_rx_desc[qid], rx_conf[qid].rx_free_thresh); > @@ -1864,6 +1871,10 @@ struct igb_ring_desc_16_bytes { > > /* per tx queue config only for first queue to be less verbose > */ > for (qid = 0; qid < 1; qid++) { > + rc = rte_eth_tx_queue_info_get(pid, qid, &tx_qinfo); > + if (!rc) > + nb_tx_desc[qid] = tx_qinfo.nb_desc; > + > printf(" TX queue: %d\n", qid); > printf(" TX desc=%d - TX free threshold=%d\n", > nb_tx_desc[qid], tx_conf[qid].tx_free_thresh); >