On Tue, 11 Apr 2023 14:51:29 +0800, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx> wrote: > On Mon, 10 Apr 2023 23:46:56 -0700, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Tue, Apr 11, 2023 at 02:28:00PM +0800, Xuan Zhuo wrote: > > > > That is just completely broken, virtio or not. Highlevel code like > > > > sockets must never do dma mappings themselves. > > > > > > AF_XDP provides some API for net driver. This API will do dma map or dma sync. > > > > > > cc AF_XDP maintainers. > > > > So in that case AF_XDP doesn't actually require a dma device as you > > claimed early and gets the layering right after all. Just don't use that > > API from a network driver that doesn't need to do dma mappings like > > virtio for the !platform_access case then. > > > Yes For Virtio-Net support AF_XDP, if we cannot provide a direct DMA map device, then we have two solutions now, but we need to cooperate with AF_XDP. 1. pass NULL as dev, then AF_XDP use phy memory as dma address, and skip sync 2. do dma/sync by callback from virtio-net Thanks. > > _______________________________________________ > Virtualization mailing list > Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > https://lists.linuxfoundation.org/mailman/listinfo/virtualization _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization