Hi Ferruh, > -----Original Message----- > From: Yigit, Ferruh > Sent: Monday, May 21, 2018 3:16 PM > To: Iremonger, Bernard <bernard.iremon...@intel.com>; dev@dpdk.org > Subject: Re: [PATCH v2] app/testpmd: fix log of start command > > On 5/21/2018 2:28 PM, 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 in the rte_port > > variable. > > > > Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings") > > Signed-off-by: Bernard Iremonger <bernard.iremon...@intel.com> > > --- > > app/test-pmd/testpmd.c | 16 +++++++++++++++- > > 1 file changed, 15 insertions(+), 1 deletion(-) > > > > diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c index > > 1d308f0..293b2a5 100644 > > --- a/app/test-pmd/testpmd.c > > +++ b/app/test-pmd/testpmd.c > > @@ -1592,6 +1592,9 @@ static void eth_dev_event_callback(char > *device_name, > > struct rte_port *port; > > struct ether_addr mac_addr; > > enum rte_eth_event_type event_type; > > + struct rte_eth_rxq_info rx_qinfo; > > + struct rte_eth_txq_info tx_qinfo; > > + int32_t rc; > > > > if (port_id_is_invalid(pid, ENABLED_WARN)) > > return 0; > > @@ -1706,8 +1709,19 @@ static void eth_dev_event_callback(char > *device_name, > > &(port->rx_conf[qi]), > > mp); > > } > > - if (diag == 0) > > + if (diag == 0) { > > + rc = rte_eth_rx_queue_info_get(pi, > qi, > > + &rx_qinfo); > > + if (!rc) > > + port->nb_rx_desc[qi] = > > + rx_qinfo.nb_desc; > > + rc = rte_eth_tx_queue_info_get(pi, > qi, > > + &tx_qinfo); > > + if (!rc) > > + port->nb_tx_desc[qi] = > > + tx_qinfo.nb_desc; > > Hi Bernard, > > port->nb_rx_desc[qi] and port->nb_tx_desc[qi] are intentionally set to > port->zero, to > be able to use PMD provided values, assigning value to them will break that > logic. > > Instead of updating these values, what about using same information on > print only?
I don't think this fix is breaking any logic, as the nb_rx_desc[qi] and nb_tx_desc[qi] values are not being updated until after the rx and tx queues have been configured using the original values. The nb_rxd and nb_txd values assigned to nb_rx_desc[qi] and nb_tx_desc[qi] are initialised to 0 but can be initialised to other vallues from the command line. I will investigate using the updated values in the print only to avoid any risk. Regards, Bernard.