On Wed, Dec 11, 2019 at 3:29 PM Ananyev, Konstantin
<konstantin.anan...@intel.com> wrote:
>
>
>
> > -----Original Message-----
> > From: dev <dev-boun...@dpdk.org> On Behalf Of Hemant Agrawal
> > Sent: Wednesday, December 11, 2019 5:30 AM
> > To: dev@dpdk.org
> > Cc: Jun Yang <jun.y...@nxp.com>
> > Subject: [dpdk-dev] [PATCH] app/testpmd: support unequal number of RXQ and 
> > TXQ
> >
> > From: Jun Yang <jun.y...@nxp.com>
> >
> > The existing forwarding mode usages the total number of
> > queues as the minimum of rxq and txq.
> > It finds the txq as the same index as rxq.
> > However in some scenarios, specially for flow control
> > the number of rxq and txq can be different.
> > This patch maxes the txq and function of rxq for all such
> > scenario instead of keeping 1:1 relationship between the two.
> >
> > Now packets from all RXQs can be forwarded to TXQs

Allow this feature only for DEV_TX_OFFLOAD_MT_LOCKFREE devices.
Please probe DEV_TX_OFFLOAD_MT_LOCKFREE() capability first to
avoid breaking contract on the other devices.

> >
> > Signed-off-by: Jun Yang <jun.y...@nxp.com>
> > ---
> >  app/test-pmd/config.c | 4 +---
> >  1 file changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> > index d59968278..efa409453 100644
> > --- a/app/test-pmd/config.c
> > +++ b/app/test-pmd/config.c
> > @@ -2130,8 +2130,6 @@ rss_fwd_config_setup(void)
> >       streamid_t  sm_id;
> >
> >       nb_q = nb_rxq;
> > -     if (nb_q > nb_txq)
> > -             nb_q = nb_txq;
> >       cur_fwd_config.nb_fwd_lcores = (lcoreid_t) nb_fwd_lcores;
> >       cur_fwd_config.nb_fwd_ports = nb_fwd_ports;
> >       cur_fwd_config.nb_fwd_streams =
> > @@ -2154,7 +2152,7 @@ rss_fwd_config_setup(void)
> >               fs->rx_port = fwd_ports_ids[rxp];
> >               fs->rx_queue = rxq;
> >               fs->tx_port = fwd_ports_ids[txp];
> > -             fs->tx_queue = rxq;
> > +             fs->tx_queue = (rxq % nb_txq);
>
> But does it mean that now 2 lcores cah use the same TX queue?
> If so, then how it supposed to work?

See above.


>
> >               fs->peer_addr = fs->tx_port;
> >               fs->retry_enabled = retry_enabled;
> >               rxp++;
> > --
> > 2.17.1
>

Reply via email to