From: Peter Oskolkov <p...@google.com>
Date: Fri, 10 Aug 2018 16:22:45 +0000

> This patch introduces several helper functions/macros that will be
> used in the follow-up patch. No runtime changes yet.
> 
> The new logic (fully implemented in the second patch) is as follows:
> 
> * Nodes in the rb-tree will now contain not single fragments, but lists
>   of consecutive fragments ("runs").
> 
> * At each point in time, the current "active" run at the tail is
>   maintained/tracked. Fragments that arrive in-order, adjacent
>   to the previous tail fragment, are added to this tail run without
>   triggering the re-balancing of the rb-tree.
> 
> * If a fragment arrives out of order with the offset _before_ the tail run,
>   it is inserted into the rb-tree as a single fragment.
> 
> * If a fragment arrives after the current tail fragment (with a gap),
>   it starts a new "tail" run, as is inserted into the rb-tree
>   at the end as the head of the new run.
> 
> skb->cb is used to store additional information
> needed here (suggested by Eric Dumazet).
> 
> Reported-by: Willem de Bruijn <will...@google.com>
> Cc: Eric Dumazet <eduma...@google.com>
> Cc: Cc: Florian Westphal <f...@strlen.de>

You need to post these changes with proper Signed-off-by: tags.

Reply via email to