On Thu, Oct 27, 2016 at 05:42:18PM -0400, David Miller wrote: > From: "Michael S. Tsirkin" <m...@redhat.com> > Date: Fri, 28 Oct 2016 00:30:35 +0300 > > > Something I'd like to understand is how does XDP address the > > problem that 100Byte packets are consuming 4K of memory now. > > Via page pools. We're going to make a generic one, but right now > each and every driver implements a quick list of pages to allocate > from (and thus avoid the DMA man/unmap overhead, etc.)
So to clarify, ATM virtio doesn't attempt to avoid dma map/unmap so there should be no issue with that even when using sub/page regions, assuming DMA APIs support sub-page map/unmap correctly. The only reason virtio attempts to use sub-page fragments is to conserve memory so that truesize for a 100byte packets won't be 4K. Are you saying pools will somehow mean we won't need to worry about that so effectively truesize=100byte even though the rest of the 4k page goes unused? If so we'll happily go back to allocate memory in 4K chunks like we used to before 2613af0ed18a, and remove a bunch of complexity. -- MST