On Wed, Sep 18, 2019 at 3:25 AM Steffen Klassert <steffen.klass...@secunet.com> wrote: > > 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. > > Patch 3 adds a netdev software feature set that defaults to off > and assigns the new listifyed GRO feature flag to it. > > Patch 4 adds the core infrastructure to do fraglist GRO/GSO. > > Patch 5 enables UDP to use fraglist GRO/GSO if configured and no > GRO supported socket is found.
Very nice feature, Steffen. Aside from questions around performance, my only question is really how this relates to GSO_BY_FRAGS. More specifically, whether we can remove that in favor of using your new skb_segment_list. That would actually be a big first step in simplifying skb_segment back to something manageable.