[PATCH] net/intel: introduce a dedicated idpf complq struct

Bruce Richardson bruce.richardson at intel.com
Thu Apr 9 12:45:58 CEST 2026


On Wed, Apr 08, 2026 at 04:34:32PM +0100, Bruce Richardson wrote:
> On Mon, Apr 06, 2026 at 10:11:25AM +0530, Shaiq Wani wrote:
> > The IDPF split-queue completion queue was using ci_tx_queue, a structure
> > designed for TX descriptor queues, wasting ~96 bytes per completion
> > queue. Additionally, the CQ-only fields (compl_ring, txqs, tx_start_qid,
> > expected_gen_id) bloated ci_tx_queue for every other Intel driver that
> > shares it.
> > 
> > Introduce struct idpf_complq with exactly the fields needed by the
> > completion queue. This brings the CQ allocation down from ~150 bytes
> > to ~48 bytes.
> > 
> > Suggested-by: Bruce Richardson <bruce.richardson at intel.com>
> > Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>
> > ---
> >  drivers/net/intel/common/tx.h                    | 11 +++--------
> >  drivers/net/intel/cpfl/cpfl_ethdev.h             |  2 +-
> >  drivers/net/intel/cpfl/cpfl_rxtx.c               | 11 ++++++-----
> >  drivers/net/intel/idpf/idpf_common_rxtx.c        |  4 ++--
> >  drivers/net/intel/idpf/idpf_common_rxtx.h        | 16 +++++++++++++++-
> >  drivers/net/intel/idpf/idpf_common_rxtx_avx2.c   |  4 ++--
> >  drivers/net/intel/idpf/idpf_common_rxtx_avx512.c |  4 ++--
> >  drivers/net/intel/idpf/idpf_rxtx.c               |  2 +-
> >  8 files changed, 32 insertions(+), 22 deletions(-)
> > 
> > diff --git a/drivers/net/intel/common/tx.h b/drivers/net/intel/common/tx.h
> > index 283bd58d5d..9da9366046 100644
> > --- a/drivers/net/intel/common/tx.h
> > +++ b/drivers/net/intel/common/tx.h
> > @@ -114,6 +114,7 @@ struct ci_tx_desc {
> >  
> >  /* forward declaration of the common intel (ci) queue structure */
> >  struct ci_tx_queue;
> > +struct idpf_complq;
> >  
> 
> Minor nit: You probably want to have a "struct idpf_flex_tx_sched_desc;" line here
> too, since you reference that struct below also.
> If no other issues with this, I can make that change on apply.

Actually, since no other pointer types within the tx_queue struct have
early references, we can instead just remove the new complq one too for
consistency.

> 
> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> 

Applied to dpdk-next-net-intel.
Thanks,
/Bruce


More information about the dev mailing list