Message ID | 1706089058-1364-1-git-send-email-wangyunjian@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tun: AF_XDP Rx zero-copy support | expand |
On Wed, 24 Jan 2024 17:37:38 +0800, Yunjian Wang <wangyunjian@huawei.com> 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? Thanks. > > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > --- > 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 > >
> -----Original Message----- > From: Xuan Zhuo [mailto:xuanzhuo@linux.alibaba.com] > Sent: Wednesday, February 21, 2024 5:53 PM > To: wangyunjian <wangyunjian@huawei.com> > Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; > kvm@vger.kernel.org; virtualization@lists.linux.dev; xudingke > <xudingke@huawei.com>; wangyunjian <wangyunjian@huawei.com>; > mst@redhat.com; willemdebruijn.kernel@gmail.com; jasowang@redhat.com; > kuba@kernel.org; davem@davemloft.net; magnus.karlsson@intel.com > 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@huawei.com> 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@huawei.com> > > --- > > 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 > > > >
On Wed, 21 Feb 2024 11:37:22 +0000, wangyunjian <wangyunjian@huawei.com> wrote: > > -----Original Message----- > > From: Xuan Zhuo [mailto:xuanzhuo@linux.alibaba.com] > > Sent: Wednesday, February 21, 2024 5:53 PM > > To: wangyunjian <wangyunjian@huawei.com> > > Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; > > kvm@vger.kernel.org; virtualization@lists.linux.dev; xudingke > > <xudingke@huawei.com>; wangyunjian <wangyunjian@huawei.com>; > > mst@redhat.com; willemdebruijn.kernel@gmail.com; jasowang@redhat.com; > > kuba@kernel.org; davem@davemloft.net; magnus.karlsson@intel.com > > 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@huawei.com> 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. Great. Though I do not know how it works, but I think a new option or feature is better. Thanks. > > Thanks > > > > > Thanks. > > > > > > > > > > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > > --- > > > 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 > > > > > >
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 */
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. Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> --- net/xdp/xsk_buff_pool.c | 7 ------- 1 file changed, 7 deletions(-)