lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH NET 0/7] skbuff: introduce pskb_realloc_headroom()
Date
currently if skb does not have enough headroom skb_realloc_headrom is called.
It is not optimal because it creates new skb.

Unlike skb_realloc_headroom, new helper pskb_realloc_headroom
does not allocate a new skb if possible;
copies skb->sk on new skb when as needed
and frees original skb in case of failures.

This helps to simplify ip[6]_finish_output2(), ip6_xmit() and a few other
functions in vrf, ax25 and bpf.

There are few other cases where this helper can be used but they require
an additional investigations.

NB: patch "ipv6: use pskb_realloc_headroom in ip6_finish_output2" depends on
patch "ipv6: allocate enough headroom in ip6_finish_output2()" submitted separately
https://lkml.org/lkml/2021/7/12/732

Vasily Averin (7):
skbuff: introduce pskb_realloc_headroom()
ipv6: use pskb_realloc_headroom in ip6_finish_output2
ipv6: use pskb_realloc_headroom in ip6_xmit
ipv4: use pskb_realloc_headroom in ip_finish_output2
vrf: use pskb_realloc_headroom in vrf_finish_output
ax25: use pskb_realloc_headroom
bpf: use pskb_realloc_headroom in bpf_out_neigh_v4/6

drivers/net/vrf.c | 14 +++------
include/linux/skbuff.h | 2 ++
net/ax25/ax25_out.c | 13 +++------
net/ax25/ax25_route.c | 13 +++------
net/core/filter.c | 22 +++-----------
net/core/skbuff.c | 41 ++++++++++++++++++++++++++
net/ipv4/ip_output.c | 12 ++------
net/ipv6/ip6_output.c | 78 ++++++++++++++++++--------------------------------
8 files changed, 89 insertions(+), 106 deletions(-)

--
1.8.3.1

\
 
 \ /
  Last update: 2021-07-12 15:26    [W:0.212 / U:0.220 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site