Subject: Re: [PATCH v3] aquantia: Remove the build_skb path

From: Maciej Fijalkowski <[email-masked]>
Date: Thu, 19 Nov 2020 23:49:16 +0100

On Thu, Nov 19, 2020 at 10:34:48PM +0000, Ramsay, Lincoln wrote:
> When performing IPv6 forwarding, there is an expectation that SKBs
> will have some headroom. When forwarding a packet from the aquantia
> driver, this does not always happen, triggering a kernel warning.
> 
> The build_skb path fails to allow for an SKB header, but the hardware
> buffer it is built around won't allow for this anyway. Just always use the
> slower codepath that copies memory into an allocated SKB.
> 
> Signed-off-by: Lincoln Ramsay <[email-masked]>
> ---

(Next time please include in the subject the tree that you're targetting
the patch)

I feel like it's only a workaround, not a real solution. On previous
thread Igor says:

"The limitation here is we can't tell HW on granularity less than 1K."

Are you saying that the minimum headroom that we could provide is 1k?
Maybe put more pressure on memory side and pull in order-1 pages, provide
this big headroom and tailroom for skb_shared_info and use build_skb by
default? With standard 1500 byte MTU.

This issue would pop up again if this driver would like to support XDP
where 256 byte headroom will have to be provided.

[...]