Re: [PATCH net-next] octeontx2-pf: Add support for page pool

From: Paolo Abeni
Date: Tue May 16 2023 - 05:02:05 EST


On Mon, 2023-05-15 at 11:26 +0530, Ratheesh Kannoth wrote:
> diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> index 7045fedfd73a..df5f45aa6980 100644
> --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c
> @@ -217,9 +217,10 @@ static bool otx2_skb_add_frag(struct otx2_nic *pfvf, struct sk_buff *skb,
> skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page,
> va - page_address(page) + off,
> len - off, pfvf->rbsize);
> -
> +#ifndef CONFIG_PAGE_POOL
> otx2_dma_unmap_page(pfvf, iova - OTX2_HEAD_ROOM,
> pfvf->rbsize, DMA_FROM_DEVICE);
> +#endif

Don't you need to do the same even when CONFIG_PAGE_POOL and !pool-
>page_pool ?

> return true;
> }
>
> @@ -382,6 +383,8 @@ static void otx2_rcv_pkt_handler(struct otx2_nic *pfvf,
> if (pfvf->netdev->features & NETIF_F_RXCSUM)
> skb->ip_summed = CHECKSUM_UNNECESSARY;
>
> + skb_mark_for_recycle(skb);

Don't you need to set the recycle only when pool->page_pool?

Overall it looks like that having both the pool->page_pool and
CONFIG_PAGE_POOL checks in place add a few possible sources of bugs.

Cheers,

Paolo