All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <simon.horman@corigine.com>
To: Ratheesh Kannoth <rkannoth@marvell.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	sgoutham@marvell.com, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, linyunsheng@huawei.com,
	sbhatta@marvell.com, gakula@marvell.com, schalla@marvell.com,
	hkelam@marvell.com
Subject: Re: [PATCH net-next v3] octeontx2-pf: Add support for page pool
Date: Fri, 19 May 2023 12:02:44 +0200	[thread overview]
Message-ID: <ZGdJRMfuXHnvVQy9@corigine.com> (raw)
In-Reply-To: <20230519071352.3967986-1-rkannoth@marvell.com>

On Fri, May 19, 2023 at 12:43:52PM +0530, Ratheesh Kannoth wrote:
> Page pool for each rx queue enhance rx side performance
> by reclaiming buffers back to each queue specific pool. DMA
> mapping is done only for first allocation of buffers.
> As subsequent buffers allocation avoid DMA mapping,
> it results in performance improvement.
> 
> Image        |  Performance
> ------------ | ------------
> Vannila      |   3Mpps
>              |
> with this    |   42Mpps
> change	     |
> ---------------------------
> 
> Signed-off-by: Ratheesh Kannoth <rkannoth@marvell.com>

...

> @@ -1205,10 +1226,28 @@ void otx2_sq_free_sqbs(struct otx2_nic *pfvf)
>  	}
>  }
>  
> +void otx2_free_bufs(struct otx2_nic *pfvf, struct otx2_pool *pool,
> +		    u64 iova, int size)
> +{
> +	u64 pa = otx2_iova_to_phys(pfvf->iommu_domain, iova);
> +	struct page *page = virt_to_head_page(phys_to_virt(pa));

nit: please arrange local variables in networking code in reverse xmas tree
     order - longest line to shortest.

	u64 pa = otx2_iova_to_phys(pfvf->iommu_domain, iova);
	struct page *page;

	page = virt_to_head_page(phys_to_virt(pa));

     The following tool can check this:

        https://github.com/ecree-solarflare/xmastree

...

> @@ -1186,11 +1185,13 @@ bool otx2_sq_append_skb(struct net_device *netdev, struct otx2_snd_queue *sq,
>  }
>  EXPORT_SYMBOL(otx2_sq_append_skb);
>  
> -void otx2_cleanup_rx_cqes(struct otx2_nic *pfvf, struct otx2_cq_queue *cq)
> +void otx2_cleanup_rx_cqes(struct otx2_nic *pfvf, struct otx2_cq_queue *cq, int qidx)
>  {
>  	struct nix_cqe_rx_s *cqe;
>  	int processed_cqe = 0;
> -	u64 iova, pa;
> +	struct otx2_pool *pool;
> +	u16 pool_id;
> +	u64 iova;

Likewise here.

>  
>  	if (pfvf->xdp_prog)
>  		xdp_rxq_info_unreg(&cq->xdp_rxq);

...

  parent reply	other threads:[~2023-05-19 10:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-19  7:13 [PATCH net-next v3] octeontx2-pf: Add support for page pool Ratheesh Kannoth
2023-05-19  7:19 ` Yunsheng Lin
2023-05-19 10:02 ` Simon Horman [this message]
2023-05-19 10:21   ` Ratheesh Kannoth
2023-05-19 13:20     ` Simon Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZGdJRMfuXHnvVQy9@corigine.com \
    --to=simon.horman@corigine.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=gakula@marvell.com \
    --cc=hkelam@marvell.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linyunsheng@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rkannoth@marvell.com \
    --cc=sbhatta@marvell.com \
    --cc=schalla@marvell.com \
    --cc=sgoutham@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.