net/bnxt: disable receive end-of-packet padding
Checks
Commit Message
Testing has shown that the packet forwarding rate for packet sizes
that are not a multiple of the cache line size is reduced when the
DMA size is padded to a multiple of the cache line size. Improve
performance for these packet sizes by disabling EOP padding.
Fixes: f4253e97e7b0 ("net/bnxt: set padding flags in Rx descriptor")
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_rxr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Thu, Dec 3, 2020 at 6:16 AM Lance Richardson
<lance.richardson@broadcom.com> wrote:
>
> Testing has shown that the packet forwarding rate for packet sizes
> that are not a multiple of the cache line size is reduced when the
> DMA size is padded to a multiple of the cache line size. Improve
> performance for these packet sizes by disabling EOP padding.
>
> Fixes: f4253e97e7b0 ("net/bnxt: set padding flags in Rx descriptor")
> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
> Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm. Thanks
> ---
> drivers/net/bnxt/bnxt_rxr.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c
> index fdbe6f71e..af1774844 100644
> --- a/drivers/net/bnxt/bnxt_rxr.c
> +++ b/drivers/net/bnxt/bnxt_rxr.c
> @@ -1113,7 +1113,7 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq)
> size = rte_pktmbuf_data_room_size(rxq->mb_pool) - RTE_PKTMBUF_HEADROOM;
> size = RTE_MIN(BNXT_MAX_PKT_LEN, size);
>
> - type = RX_PROD_PKT_BD_TYPE_RX_PROD_PKT | RX_PROD_PKT_BD_FLAGS_EOP_PAD;
> + type = RX_PROD_PKT_BD_TYPE_RX_PROD_PKT;
>
> rxr = rxq->rx_ring;
> ring = rxr->rx_ring_struct;
> --
> 2.25.1
>
@@ -1113,7 +1113,7 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq)
size = rte_pktmbuf_data_room_size(rxq->mb_pool) - RTE_PKTMBUF_HEADROOM;
size = RTE_MIN(BNXT_MAX_PKT_LEN, size);
- type = RX_PROD_PKT_BD_TYPE_RX_PROD_PKT | RX_PROD_PKT_BD_FLAGS_EOP_PAD;
+ type = RX_PROD_PKT_BD_TYPE_RX_PROD_PKT;
rxr = rxq->rx_ring;
ring = rxr->rx_ring_struct;