On Wed, 21 Aug 2019 16:28:47 +0200, Thomas Bogendoerfer wrote: > > This looks like a DMA engine alignment requirement, more than an > > optimization. > > that true, there are two constraints for the rx buffers, start must be aligned > to 128 bytes and a buffer must not cross a 16kbyte boundary. I was already > thinking of allocating pages and chop them up. Is there a Linux API available, > which could help for implementing this ? > > I'll probably drop this patch or only change the skb_put stuff plus RX_BUF_SIZE > define. Sounds a little like frag allocator (napi_alloc_frag()/ netdev_alloc_frag()), but I'm not sure you'd have sufficient control to skip over the 16k boundary.. Perhaps others have better suggestions.