Subject: Re: [PATCH net-next 0/4] net: cleanup for UDP tunnel's GRO

From: Shmulik Ladkani <[email-masked]>
Date: Sat, 9 Jul 2016 18:56:12 +0300

On Sat, 9 Jul 2016 11:35:03 -0400 Hannes Frederic Sowa <[email-masked]> wrote:
> On 09.07.2016 11:18, Shmulik Ladkani wrote:
> > On Fri, 8 Jul 2016 19:04:27 -0400 Hannes Frederic Sowa <[email-masked]> wrote:  
> >>>> I really do wonder if GRO on top of fragmentation does have any effect.
> >>>> Would be great if someone has data for that already?    
> >>>
> >>> I think that logic is kind of backwards.  It is already there.
> >>> Instead of asking people to prove that this change is invalid the onus
> >>> should be on the submitter to prove the change causes no harm.    
> >>
> >> Of course, sorry, I didn't want to make the impression others should do
> >> that. I asked because Shmulik made the impression on me he had
> >> experience with GRO+fragmentation on vxlan and/or geneve and could
> >> provide some data, maybe even just anecdotal.  
> > 
> > Few anecdotal updates.
> > 
> > I don't have ready-made data as the systems are not using this exact
> > kind of of setup.
> > 
> > However, by performing some quick experimentations, it reveals that GRO
> > on top of the tunnels, where tunnel datagrams are fragmented, has some
> > effect. The packets indeed get aggregated, although not aggresively as
> > in the non-fragmented case.
> > 
> > Whether the effect is significant depends on the system.
> > 
> > In a system that is very sensitive to non-aggregated skbs (due to a cpu
> > bottleneck during further processing of the decapsulated packets), the
> > effect of aggregation is indeed significant.  
> 
> Cool, thanks. I thought it wouldn't happen because of the packet pacing.
> We will also do some more tests ourselves. Maybe it is time to add
> fragmentation support to inet_gro_receive to handle those cases much
> more easily without going through fragmentation engine at all, would
> probably speed up your usage significantly?

Indeed, that seems beneficial. I wondered about this back ago. I found
it not trivial, though. Without the transport headers available per
received SKB, it makes GRO complex than currently is :)

> Talking about ip fragmentation in general, are you end-host or
> mid-router fragmented? 

Currently dealing with end-host fragmentation.
(follow the thread at [1] - usecase is better explained there)

[1] http://www.spinics.net/lists/netdev/msg385085.html

Regards,
Shmulik