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.



Reply via email to