RE: [PATCH net-next 1/2] xsk: Remove non-zero 'dma_page' check in xp_assign_dev

From: wangyunjian
Date: Wed Feb 21 2024 - 06:40:48 EST


> -----Original Message-----
> From: Xuan Zhuo [mailto:xuanzhuo@xxxxxxxxxxxxxxxxx]
> Sent: Wednesday, February 21, 2024 5:53 PM
> To: wangyunjian <wangyunjian@xxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> kvm@xxxxxxxxxxxxxxx; virtualization@xxxxxxxxxxxxxxx; xudingke
> <xudingke@xxxxxxxxxx>; wangyunjian <wangyunjian@xxxxxxxxxx>;
> mst@xxxxxxxxxx; willemdebruijn.kernel@xxxxxxxxx; jasowang@xxxxxxxxxx;
> kuba@xxxxxxxxxx; davem@xxxxxxxxxxxxx; magnus.karlsson@xxxxxxxxx
> Subject: Re: [PATCH net-next 1/2] xsk: Remove non-zero 'dma_page' check in
> xp_assign_dev
>
> On Wed, 24 Jan 2024 17:37:38 +0800, Yunjian Wang
> <wangyunjian@xxxxxxxxxx> wrote:
> > Now dma mappings are used by the physical NICs. However the vNIC maybe
> > do not need them. So remove non-zero 'dma_page' check in
> > xp_assign_dev.
>
> Could you tell me which one nic can work with AF_XDP without DMA?

TUN will support AF_XDP Tx zero-copy, which does not require DMA mappings.

Thanks

>
> Thanks.
>
>
> >
> > Signed-off-by: Yunjian Wang <wangyunjian@xxxxxxxxxx>
> > ---
> > net/xdp/xsk_buff_pool.c | 7 -------
> > 1 file changed, 7 deletions(-)
> >
> > diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c index
> > 28711cc44ced..939b6e7b59ff 100644
> > --- a/net/xdp/xsk_buff_pool.c
> > +++ b/net/xdp/xsk_buff_pool.c
> > @@ -219,16 +219,9 @@ int xp_assign_dev(struct xsk_buff_pool *pool,
> > if (err)
> > goto err_unreg_pool;
> >
> > - if (!pool->dma_pages) {
> > - WARN(1, "Driver did not DMA map zero-copy buffers");
> > - err = -EINVAL;
> > - goto err_unreg_xsk;
> > - }
> > pool->umem->zc = true;
> > return 0;
> >
> > -err_unreg_xsk:
> > - xp_disable_drv_zc(pool);
> > err_unreg_pool:
> > if (!force_zc)
> > err = 0; /* fallback to copy mode */
> > --
> > 2.33.0
> >
> >