Re: [PATCH RFC v3 0/5] Support fraglist GRO/GSO
From: Paolo Abeni <pabeni@redhat.com>
Date: 2019-09-19 13:52:00
On Thu, 2019-09-19 at 15:37 +0300, Or Gerlitz wrote:
On Wed, Sep 18, 2019 at 2:48 PM Steffen Klassert [off-list ref] wrote:quoted
This patchset adds support to do GRO/GSO by chaining packets of the same flow at the SKB frag_list pointer. This avoids the overhead to merge payloads into one big packet, and on the other end, if GSO is needed it avoids the overhead of splitting the big packet back to the native form. Patch 1 Enables UDP GRO by default. Patch 2 adds a netdev feature flag to enable listifyed GRO, this implements one of the configuration options discussed at netconf 2019.[..] The slide say that linked packets travel together though the stack. This sounds somehow similar to the approach suggested by Ed for skb lists. I wonder what we can say on cases where each of the approaches would function better.
The 'listification' by Ed Cree can potentially aggregate across multiple flows, so it can trigger when UDP GRO can not. On the other side, fraglist performance impact is more limited, because we still have to walk the list on each step. UDP GRO will improve performances considerably more, if it can be triggered - e.g. all pkts belong to the same flow. Cheers, Paolo