All of lore.kernel.org
 help / color / mirror / Atom feed
From: Byungchul Park <byungchul@sk.com>
To: Pavel Begunkov <asml.silence@gmail.com>
Cc: io-uring@vger.kernel.org, netdev@vger.kernel.org,
	kernel_team@skhynix.com
Subject: Re: [PATCH io_uring for-review] io_uring/zcrx: convert to use netmem_desc
Date: Mon, 13 Oct 2025 13:22:59 +0900	[thread overview]
Message-ID: <20251013042259.GA6925@system.software.com> (raw)
In-Reply-To: <2ea0f9bd5d0dbc599d766b7b35df4132e904abc6.1759928725.git.asml.silence@gmail.com>

On Wed, Oct 08, 2025 at 02:12:54PM +0100, Pavel Begunkov wrote:
> Convert zcrx to struct netmem_desc, and use struct net_iov::desc to
> access its fields instead of struct net_iov inner union alises.
> zcrx only directly reads niov->pp, so with this patch it doesn't depend
> on the union anymore.

Looks clear enough and it's the necessary changes.

Reviewed-by: Byungchul Park <byungchul@sk.com>

	Byungchul

> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
> ---
>  io_uring/zcrx.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/io_uring/zcrx.c b/io_uring/zcrx.c
> index 723e4266b91f..966ed95e801d 100644
> --- a/io_uring/zcrx.c
> +++ b/io_uring/zcrx.c
> @@ -693,12 +693,12 @@ static void io_zcrx_return_niov(struct net_iov *niov)
>  {
>         netmem_ref netmem = net_iov_to_netmem(niov);
> 
> -       if (!niov->pp) {
> +       if (!niov->desc.pp) {
>                 /* copy fallback allocated niovs */
>                 io_zcrx_return_niov_freelist(niov);
>                 return;
>         }
> -       page_pool_put_unrefed_netmem(niov->pp, netmem, -1, false);
> +       page_pool_put_unrefed_netmem(niov->desc.pp, netmem, -1, false);
>  }
> 
>  static void io_zcrx_scrub(struct io_zcrx_ifq *ifq)
> @@ -800,7 +800,7 @@ static void io_zcrx_ring_refill(struct page_pool *pp,
>                 if (!page_pool_unref_and_test(netmem))
>                         continue;
> 
> -               if (unlikely(niov->pp != pp)) {
> +               if (unlikely(niov->desc.pp != pp)) {
>                         io_zcrx_return_niov(niov);
>                         continue;
>                 }
> @@ -1136,13 +1136,15 @@ static int io_zcrx_recv_frag(struct io_kiocb *req, struct io_zcrx_ifq *ifq,
>                              const skb_frag_t *frag, int off, int len)
>  {
>         struct net_iov *niov;
> +       struct page_pool *pp;
> 
>         if (unlikely(!skb_frag_is_net_iov(frag)))
>                 return io_zcrx_copy_frag(req, ifq, frag, off, len);
> 
>         niov = netmem_to_net_iov(frag->netmem);
> -       if (!niov->pp || niov->pp->mp_ops != &io_uring_pp_zc_ops ||
> -           io_pp_to_ifq(niov->pp) != ifq)
> +       pp = niov->desc.pp;
> +
> +       if (!pp || pp->mp_ops != &io_uring_pp_zc_ops || io_pp_to_ifq(pp) != ifq)
>                 return -EFAULT;
> 
>         if (!io_zcrx_queue_cqe(req, niov, ifq, off + skb_frag_off(frag), len))
> --
> 2.49.0

      reply	other threads:[~2025-10-13  4:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-08 13:12 [PATCH io_uring for-review] io_uring/zcrx: convert to use netmem_desc Pavel Begunkov
2025-10-13  4:22 ` Byungchul Park [this message]

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=20251013042259.GA6925@system.software.com \
    --to=byungchul@sk.com \
    --cc=asml.silence@gmail.com \
    --cc=io-uring@vger.kernel.org \
    --cc=kernel_team@skhynix.com \
    --cc=netdev@vger.kernel.org \
    /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.