[dpdk-dev] [PATCH v2] app/testpmd: fix log of start command

Iremonger, Bernard bernard.iremonger at intel.com
Tue May 22 11:06:02 CEST 2018


Hi Ferruh,

> -----Original Message-----
> From: Yigit, Ferruh
> Sent: Monday, May 21, 2018 3:16 PM
> To: Iremonger, Bernard <bernard.iremonger at intel.com>; dev at 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.iremonger at 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.





More information about the dev mailing list