On Wed, 21 Aug 2019 16:28:47 +0200, Thomas Bogendoerfer wrote:
quoted
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.