Thread (23 messages) flat view 23 messages, 6 authors, 2022-05-13

Re: [PATCH v6 net-next 13/13] mlx5: support BIG TCP packets

From: Saeed Mahameed <saeedm@nvidia.com>
Date: 2022-05-13 05:49:53

On 12 May 21:34, Eric Dumazet wrote:
On Thu, May 12, 2022 at 9:29 PM Saeed Mahameed [off-list ref] wrote:
quoted
On 12 May 11:02, Paolo Abeni wrote:
quoted
On Thu, 2022-05-12 at 01:40 -0700, Saeed Mahameed wrote:
quoted
On 09 May 20:32, Eric Dumazet wrote:
quoted
From: Coco Li <redacted>

mlx5 supports LSOv2.

IPv6 gro/tcp stacks insert a temporary Hop-by-Hop header
with JUMBO TLV for big packets.

We need to ignore/skip this HBH header when populating TX descriptor.
Sorry i didn't go through all the documentations or previous discussions,
please bare with me, so why not clear HBH just before calling the
driver xmit ndo ?
I guess this way is more efficient: the driver copies IP hdr and TCP
hdr directly in the correct/final location into the tx descriptor,
otherwise the caller would have to memmove L2/L3 just before the driver
copies them again.
quoted
memmove(sizeof(L2/L3)) is not that bad when done only every 64KB+.
it's going to be hard to repeat this and maintain this across all drivers
only to get this micro optimization that I doubt it will be even measurable.
We prefer not changing skb->head, this would break tcpdump.
in that case we can provide a helper to the drivers to call, just before
they start processing the skb.
Surely calling skb_cow_head() would incur a cost.
Sure, but the benefit of this patch outweighs this cost by orders of
magnitude, you pay an extra 0.1$ for a cleaner code, and you still
get your 64K$ BIG TCP cash. 
As I suggested, we can respin the series without the mlx5 patch, this
is totally fine for us, if we can avoid missing 5.19 train.
To be clear, I am not nacking, Tariq already reviewed and gave his blessing,
and i won't resist this patch on v6. I am Just suggesting an improvement
to code readability and scalability to other drivers.

FWIW:
Acked-by: Saeed Mahameed <saeedm@nvidia.com>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help