[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