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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Paolo Abeni [mailto:pabeni@xxxxxxxxxx]
> Sent: Thursday, February 29, 2024 6:43 PM
> To: wangyunjian <wangyunjian@xxxxxxxxxx>; mst@xxxxxxxxxx;
> willemdebruijn.kernel@xxxxxxxxx; jasowang@xxxxxxxxxx; kuba@xxxxxxxxxx;
> bjorn@xxxxxxxxxx; magnus.karlsson@xxxxxxxxx; maciej.fijalkowski@xxxxxxxxx;
> jonathan.lemon@xxxxxxxxx; davem@xxxxxxxxxxxxx
> Cc: bpf@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> virtualization@xxxxxxxxxxxxxxx; xudingke <xudingke@xxxxxxxxxx>; liwei (DT)
> <liwei395@xxxxxxxxxx>
> Subject: Re: [PATCH net-next v2 1/3] xsk: Remove non-zero 'dma_page' check in
> xp_assign_dev
> 
> On Wed, 2024-02-28 at 19:05 +0800, Yunjian Wang 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.
> >
> > 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
> > ce60ecd48a4d..a5af75b1f43c 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;
> > -	}
> 
> This would unconditionally remove an otherwise valid check for most NIC. What
> about let the driver declare it wont need DMA map with a
> (pool?) flag.

This check is redundant. The NIC's driver determines whether a DMA map is required.
If the NIC'driver requires the DMA map, it uses the xsk_pool_dma_map function, which
initializes the DMA map and performs a check.

Thanks

> 
> Cheers,
> 
> Paolo





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux