[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