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 <[email protected]> > Signed-off-by: Shaiq Wani <[email protected]> > --- > 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. Acked-by: Bruce Richardson <[email protected]>

