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

Bruce Richardson bruce.richardson at intel.com
Wed Apr 8 17:34:32 CEST 2026


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.

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



More information about the dev mailing list