Re: [EXTERNAL] Re: [PATCH net v2 1/2] octeontx2-pf: Fix aura BPID assignment when CONFIG_DCB is enabled

From: Subrat Pandey

Date: Fri Aug 07 2026 - 04:49:24 EST





________________________________________
From: Jakub Kicinski <kuba@xxxxxxxxxx>
Sent: Thursday, August 6, 2026 9:00 PM
To: Subrat Pandey
Cc: linux-kernel@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; pabeni@xxxxxxxxxx; edumazet@xxxxxxxxxx; davem@xxxxxxxxxxxxx; andrew+netdev@xxxxxxx; Subbaraya Sundeep Bhatta; Ratheesh Kannoth; Geethasowjanya Akula; Sunil Kovvuri Goutham
Subject: [EXTERNAL] Re: [PATCH net v2 1/2] octeontx2-pf: Fix aura BPID assignment when CONFIG_DCB is enabled

On Thu, 6 Aug 2026 08: 26: 50 -0700 Jakub Kicinski wrote: > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common. c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common. c > > index 3d253132a17f0. . b4691472d2a3e 100644

> On Thu, 6 Aug 2026 08:26:50 -0700 Jakub Kicinski wrote:
> > > diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> > > index 3d253132a17f0..b4691472d2a3e 100644
> > > --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> > > +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
> > > @@ -1132,10 +1132,10 @@ int otx2_cq_init(struct otx2_nic *pfvf, u16 qidx)
> > > if (!is_otx2_lbkvf(pfvf->pdev)) {
> > > /* Enable receive CQ backpressure */
> > > aq->cq.bp_ena = 1;
> > > -#ifdef CONFIG_DCB
> > > - aq->cq.bpid = pfvf->bpid[pfvf->queue_to_pfc_map[qidx]];
> > > -#else
> > > aq->cq.bpid = pfvf->bpid[0];
> > > +#ifdef CONFIG_DCB
> > > + if (pfvf->queue_to_pfc_map)
> > > + aq->cq.bpid = pfvf->bpid[pfvf->queue_to_pfc_map[qidx]];
> > > #endif
> >
> > [Severity: Low]
> > This isn't a bug, but the same #ifdef CONFIG_DCB plus NULL test idiom now
> > appears in three places: cn20k_aura_bpid_idx(), otx2_cq_init() and
> > otx2_aura_aq_init(). cn20k_aura_bpid_idx() already encapsulates exactly this
> > logic. Would it be cleaner to generalize it into a single accessor, say
> > otx2_get_bpid_idx(pfvf, qidx), and use it from all three sites?
> >
> > Alternatively, could queue_to_pfc_map simply be allocated unconditionally
> > (it is only pfvf->hw.rx_queues bytes) instead of being tied to dcbnl_ops
>
> AI is getting better I guess. I was going to suggest this as well.
> Please avoid hiding struct members under ifdefs unless there's a major
> size win on the structures. If you care about runtime cost you can use
> IS_ENABLED() inside the if () condition and compiler will eliminate it.
> No ifdefs needed at that point.
>

Thanks for the feedback.
We will fix it and submit next version.