[AMD Official Use Only - AMD Internal Distribution Only]

Hi Thomas,


From: Thomas Monjalon <thomas@monjalon.net>
Sent: Tuesday, November 18, 2025 10:39 PM
To: Konstantin Ananyev <konstantin.ananyev@huawei.com>; Tummala, Sivaprasad <Sivaprasad.Tummala@amd.com>
Cc: Nithin Dabilpuram <nithind1988@gmail.com>; stable@dpdk.org <stable@dpdk.org>; jerinj@marvell.com <jerinj@marvell.com>; kirankumark@marvell.com <kirankumark@marvell.com>; ndabilpuram@marvell.com <ndabilpuram@marvell.com>; yanzhirun_163@163.com <yanzhirun_163@163.com>; david.marchand@redhat.com <david.marchand@redhat.com>; ktraynor@redhat.com <ktraynor@redhat.com>; konstantin.v.ananyev@yandex.ru <konstantin.v.ananyev@yandex.ru>; bruce.richardson@intel.com <bruce.richardson@intel.com>; maxime.coquelin@redhat.com <maxime.coquelin@redhat.com>; aconole@redhat.com <aconole@redhat.com>; dev@dpdk.org <dev@dpdk.org>; stable@dpdk.org <stable@dpdk.org>
Subject: Re: [PATCH] examples/l3fwd-graph: remove redundant Tx queue limit

Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


06/10/2025 10:58, Tummala, Sivaprasad:
> From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
> > > On Mon, Sep 1, 2025 at 11:39 PM Sivaprasad Tummala
> > > <sivaprasad.tummala@amd.com> wrote:
> > > >
> > > > In `l3fwd-graph` application, Tx queues are configured per lcore
> > > > to enable a lockless design and achieve optimal performance.
> > > >
> > > > The `MAX_TX_QUEUE_PER_PORT` macro, defined as `RTE_MAX_ETHPORTS`,
> > > > introduced an artificial constraint on the number of Tx queues
> > > > and limited core-scaling performance.
> > > >
> > > > This patch removes the unused `MAX_TX_QUEUE_PER_PORT` macro and
> > > > redundant Tx queue check, allowing Tx queues to scale directly
> > > > with the no. of lcores.
> > > >
> > > > Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton")
> > > > Cc: ndabilpuram@marvell.com
> > > > Cc: stable@dpdk.org
> > > >
> > > > Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
> > > > ---
> > > >  examples/l3fwd-graph/main.c | 3 ---
> > > >  1 file changed, 3 deletions(-)
> > > >
> > > > diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c
> > > > index 92cdaa1ebe..12908acbba 100644
> > > > --- a/examples/l3fwd-graph/main.c
> > > > +++ b/examples/l3fwd-graph/main.c
> > > > @@ -49,7 +49,6 @@
> > > >  #define RX_DESC_DEFAULT 1024
> > > >  #define TX_DESC_DEFAULT 1024
> > > >
> > > > -#define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
> > > >  #define MAX_RX_QUEUE_PER_PORT 128
> >
> > AFAIK, in the mainline we actually have:
> > #define MAX_TX_QUEUE_PER_PORT RTE_MAX_LCORE
> >
> In l3fwd-graph app, this change is not available and instead we have
>> #define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
>>
>> > since:
>> > commit 88256ed85338c572d73006e4c4530a52d3b477ff
>> > Author: Harman Kalra <hkalra@marvell.com>
>> > Date:   Tue Jan 12 23:54:46 2021 +0530
>> >
>> >     examples/l3fwd: remove limitation on Tx queue count
>> >
>> > What I am missing here?
>> This patch marked here was fixing l3fwd app and not l3fwd-graph

> Why not applying the same change to both examples?
Yes, that's what the patch is intended for to fix l3fwd-graph and tx queues will scale with lcores and limited by RTE_MAX_LCORES.