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

From: Eric Dumazet
Date: Thu Aug 27 2020 - 07:49:05 EST


On Thu, Aug 27, 2020 at 4:31 AM Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote:
>
> Set trailer iff skb1 is the skbuff where the tailbits space begins.
>
> Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
> ---
> 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.