[dpdk-dev] [PATCH v4 1/3] net/enetc: add macro for BD ring alignment

Ferruh Yigit ferruh.yigit at intel.com
Mon Oct 21 17:54:16 CEST 2019


On 10/21/2019 11:50 AM, Gagandeep Singh wrote:
> enetc BD rings should be aligned to 128
> instead of RTE_CACHE_LINE_SIZE.

This looks like a fix, if so can you please update commit log according, via
fixes line etc..

> 
> Signed-off-by: Gagandeep Singh <g.singh at nxp.com>
> ---
>  drivers/net/enetc/base/enetc_hw.h | 3 +++
>  drivers/net/enetc/enetc_ethdev.c  | 8 ++++----
>  2 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/enetc/base/enetc_hw.h b/drivers/net/enetc/base/enetc_hw.h
> index fd71155ee..2fe7ccb5b 100644
> --- a/drivers/net/enetc/base/enetc_hw.h
> +++ b/drivers/net/enetc/base/enetc_hw.h
> @@ -12,6 +12,9 @@
>  #define ENETC_DEV_ID_VF		0xef00
>  #define ENETC_DEV_ID		0xe100
>  
> +/* BD RING ALIGNMENT */
> +#define ENETC_BD_RING_ALIGN	128
> +
>  /* ENETC register block BAR */
>  #define ENETC_BAR_REGS			0x0
>  
> diff --git a/drivers/net/enetc/enetc_ethdev.c b/drivers/net/enetc/enetc_ethdev.c
> index dc05c00ff..4e978348c 100644
> --- a/drivers/net/enetc/enetc_ethdev.c
> +++ b/drivers/net/enetc/enetc_ethdev.c
> @@ -178,12 +178,12 @@ enetc_alloc_txbdr(struct enetc_bdr *txr, uint16_t nb_desc)
>  	int size;
>  
>  	size = nb_desc * sizeof(struct enetc_swbd);
> -	txr->q_swbd = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
> +	txr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
>  	if (txr->q_swbd == NULL)
>  		return -ENOMEM;
>  
>  	size = nb_desc * sizeof(struct enetc_tx_bd);
> -	txr->bd_base = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
> +	txr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
>  	if (txr->bd_base == NULL) {
>  		rte_free(txr->q_swbd);
>  		txr->q_swbd = NULL;
> @@ -325,12 +325,12 @@ enetc_alloc_rxbdr(struct enetc_bdr *rxr,
>  	int size;
>  
>  	size = nb_rx_desc * sizeof(struct enetc_swbd);
> -	rxr->q_swbd = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
> +	rxr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
>  	if (rxr->q_swbd == NULL)
>  		return -ENOMEM;
>  
>  	size = nb_rx_desc * sizeof(union enetc_rx_bd);
> -	rxr->bd_base = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
> +	rxr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
>  	if (rxr->bd_base == NULL) {
>  		rte_free(rxr->q_swbd);
>  		rxr->q_swbd = NULL;
> 



More information about the dev mailing list