]> Git Repo - linux.git/commit
udp: avoid a cache miss on dequeue
authorPaolo Abeni <[email protected]>
Mon, 12 Jun 2017 09:23:42 +0000 (11:23 +0200)
committerDavid S. Miller <[email protected]>
Mon, 12 Jun 2017 14:01:29 +0000 (10:01 -0400)
commit0a463c78d25b9464b77311d9dda297550a2d6aa5
tree87152851619730150299fe4acf3a7a0eff8a6f4b
parent3889a803e1da9bd7cd10d6504bf281ee7e55dfd6
udp: avoid a cache miss on dequeue

Since UDP no more uses sk->destructor, we can clear completely
the skb head state before enqueuing. Amend and use
skb_release_head_state() for that.

All head states share a single cacheline, which is not
normally used/accesses on dequeue. We can avoid entirely accessing
such cacheline implementing and using in the UDP code a specialized
skb free helper which ignores the skb head state.

This saves a cacheline miss at skb deallocation time.

v1 -> v2:
  replaced secpath_reset() with skb_release_head_state()

Signed-off-by: Paolo Abeni <[email protected]>
Acked-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/linux/skbuff.h
net/core/skbuff.c
net/ipv4/udp.c
This page took 0.060745 seconds and 4 git commands to generate.