summaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-04-28 15:31:51 -0700
committerDavid S. Miller <davem@davemloft.net>2010-04-28 15:31:51 -0700
commitf84af32cbca70a3c6d30463dc08c7984af11c277 (patch)
tree06ede4b3ed91be899f8f29b4c7eb1fb76f1ade97 /include/net
parent4b0b72f7dd617b13abd1b04c947e15873e011a24 (diff)
downloadlinux-f84af32cbca70a3c6d30463dc08c7984af11c277.tar.gz
linux-f84af32cbca70a3c6d30463dc08c7984af11c277.tar.bz2
linux-f84af32cbca70a3c6d30463dc08c7984af11c277.zip
net: ip_queue_rcv_skb() helper
When queueing a skb to socket, we can immediately release its dst if target socket do not use IP_CMSG_PKTINFO. tcp_data_queue() can drop dst too. This to benefit from a hot cache line and avoid the receiver, possibly on another cpu, to dirty this cache line himself. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ip.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/net/ip.h b/include/net/ip.h
index a84ceb692687..8149b77cea9b 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -393,6 +393,7 @@ extern int ip_options_rcv_srr(struct sk_buff *skb);
* Functions provided by ip_sockglue.c
*/
+extern int ip_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
extern void ip_cmsg_recv(struct msghdr *msg, struct sk_buff *skb);
extern int ip_cmsg_send(struct net *net,
struct msghdr *msg, struct ipcm_cookie *ipc);