2020-08-27 11:49:45

by Eric Dumazet

[permalink] [raw]
Subject: Re: [PATCH] net: Set trailer iff skb1 is the last one

On Thu, Aug 27, 2020 at 4:31 AM Miaohe Lin <[email protected]> wrote:
>
> Set trailer iff skb1 is the skbuff where the tailbits space begins.
>
> Signed-off-by: Miaohe Lin <[email protected]>
> ---
> net/core/skbuff.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> index 0b24aed04060..18ed56316e56 100644
> --- a/net/core/skbuff.c
> +++ b/net/core/skbuff.c
> @@ -4488,8 +4488,9 @@ int skb_cow_data(struct sk_buff *skb, int tailbits, struct sk_buff **trailer)
> skb1 = skb2;
> }
> elt++;
> - *trailer = skb1;
> skb_p = &skb1->next;
> + if (!*skb_p)
> + *trailer = skb1;
>

Why is adding a conditional test going to help ?

cpu will have hard time predicting this one, I doubt this kind of
change is a win.