From: Eric Dumazet <eric.duma...@gmail.com> Date: Mon, 26 Nov 2018 15:05:02 -0800
> One thing that could be done without too much impact is to provide a cbext[] > only for TCP packets in write/rtx queue, that is not in sk_buff but > on the struct sk_buff_fclones > > This extra space would not be 0-initialized at alloc_skb() > and would not be copied at skb_clone() > > I mentioned this idea a while back already. > > > diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h > index > 73902acf2b71c8800d81b744a936a7420f33b459..c4bfc2fd98eb9723c0219d5cd8bf5b28afaf5398 > 100644 > --- a/include/linux/skbuff.h > +++ b/include/linux/skbuff.h > @@ -1018,6 +1018,8 @@ struct sk_buff_fclones { > struct sk_buff skb2; > > refcount_t fclone_ref; > + > + char cbext[128] __aligned(8); > }; So, potentially at least, MP-TCP could use this. The down side is that it doesn't allow for the br_netfilter, skb->sp, etc. consoldation down to one test.