[PATCH v2] net/intel: reduce size of common Tx queue struct

Bruce Richardson bruce.richardson at intel.com
Thu May 15 16:24:28 CEST 2025


On Thu, May 15, 2025 at 11:51:30AM +0530, Shaiq Wani wrote:
> Removed redundant and unused fields from the idpf pmd specific field
> in common Tx queue structure to reduce its memory footprint.
> 
> Signed-off-by: Shaiq Wani <shaiq.wani at intel.com>
> ---
>  drivers/net/intel/common/tx.h                 |  6 +--
>  drivers/net/intel/cpfl/cpfl_ethdev.c          |  6 ---
>  drivers/net/intel/cpfl/cpfl_rxtx.c            | 13 +------
>  drivers/net/intel/idpf/idpf_common_rxtx.c     | 34 ++---------------
>  drivers/net/intel/idpf/idpf_common_rxtx.h     |  7 ----
>  .../net/intel/idpf/idpf_common_rxtx_avx512.c  | 37 +++----------------
>  drivers/net/intel/idpf/idpf_rxtx.c            |  9 +----
>  7 files changed, 13 insertions(+), 99 deletions(-)
> 
> diff --git a/drivers/net/intel/common/tx.h b/drivers/net/intel/common/tx.h
> index c99bd5420f..b0a68bae44 100644
> --- a/drivers/net/intel/common/tx.h
> +++ b/drivers/net/intel/common/tx.h
> @@ -106,16 +106,12 @@ struct ci_tx_queue {
>  						struct idpf_flex_tx_sched_desc *desc_ring;
>  						struct idpf_splitq_tx_compl_desc *compl_ring;
>  				};
> -				const struct idpf_txq_ops *idpf_ops;
>  				struct ci_tx_queue *complq;
>  				void **txqs;   /*only valid for split queue mode*/
> -				bool q_started;   /* if tx queue has been started */
> -				/* only valid for split queue mode */
>  				uint32_t tx_start_qid;
>  				uint16_t sw_nb_desc;
>  				uint16_t sw_tail;
> -#define IDPF_TX_CTYPE_NUM	8
> -				uint16_t ctype[IDPF_TX_CTYPE_NUM];
> +				uint16_t rs_compl_count;
>  				uint8_t expected_gen_id;
>  		};
>  	};

Before:
	(gdb) print /d sizeof(struct ci_tx_queue)
	$1 = 160

After:
	(gdb) print /d sizeof(struct ci_tx_queue)
	$1 = 136

So a 15% saving, with a code size reduction of 86 lines too. Seems all good
to me!

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

Pushed to dpdk-next-net-intel.
Thanks,

/Bruce


More information about the dev mailing list