summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_output.c
diff options
context:
space:
mode:
authorDavid S. Miller2006-11-10 04:58:25 +0100
committerDavid S. Miller2006-12-03 06:21:52 +0100
commit931731123a103cfb3f70ac4b7abfc71d94ba1f03 (patch)
tree0af6636fde05f74a8aa5421bfe9828e2a209170d /net/ipv4/ip_output.c
parent[NET] ip-sysctl.txt: Alphabetize. (diff)
downloadkernel-qcow2-linux-931731123a103cfb3f70ac4b7abfc71d94ba1f03.tar.gz
kernel-qcow2-linux-931731123a103cfb3f70ac4b7abfc71d94ba1f03.tar.xz
kernel-qcow2-linux-931731123a103cfb3f70ac4b7abfc71d94ba1f03.zip
[TCP]: Don't set SKB owner in tcp_transmit_skb().
The data itself is already charged to the SKB, doing the skb_set_owner_w() just generates a lot of noise and extra atomics we don't really need. Lmbench improvements on lat_tcp are minimal: before: TCP latency using localhost: 23.2701 microseconds TCP latency using localhost: 23.1994 microseconds TCP latency using localhost: 23.2257 microseconds after: TCP latency using localhost: 22.8380 microseconds TCP latency using localhost: 22.9465 microseconds TCP latency using localhost: 22.8462 microseconds Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r--net/ipv4/ip_output.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 23633bf042ba..def32d8d3b06 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -288,9 +288,8 @@ int ip_output(struct sk_buff *skb)
!(IPCB(skb)->flags & IPSKB_REROUTED));
}
-int ip_queue_xmit(struct sk_buff *skb, int ipfragok)
+int ip_queue_xmit(struct sk_buff *skb, struct sock *sk, int ipfragok)
{
- struct sock *sk = skb->sk;
struct inet_sock *inet = inet_sk(sk);
struct ip_options *opt = inet->opt;
struct rtable *rt;