Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18e8c134 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

net: Increase NET_SKB_PAD to 64 bytes



eth_type_trans() & get_rps_cpus() currently need two 64bytes cache
lines in packet to compute rxhash.

Increasing NET_SKB_PAD from 32 to 64 reduces the need to one cache
line only, and makes RPS faster.

NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)

Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d6bc0149
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1361,9 +1361,12 @@ static inline int skb_network_offset(const struct sk_buff *skb)
 *
 * Various parts of the networking layer expect at least 32 bytes of
 * headroom, you should not reduce this.
 * With RPS, we raised NET_SKB_PAD to 64 so that get_rps_cpus() fetches span
 * a 64 bytes aligned block to fit modern (>= 64 bytes) cache line sizes
 * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
 */
#ifndef NET_SKB_PAD
#define NET_SKB_PAD	32
#define NET_SKB_PAD	64
#endif

extern int ___pskb_trim(struct sk_buff *skb, unsigned int len);