diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2007-11-29 05:22:33 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:55:08 -0500 |
commit | df97c708d5e6eebdd9ded1fa588eae09acf53793 (patch) | |
tree | 35bcca504e629f3b9635fd52870a8add0846f333 /net | |
parent | f561d0f27d6283c49359bb96048f8ac3728c812c (diff) |
[NET]: Eliminate unused argument from sk_stream_alloc_pskb
The 3rd argument is always zero (according to grep :) Eliminate
it and merge the function with sk_stream_alloc_skb.
This saves 44 more bytes, and together with the previous patch
we have:
add/remove: 1/0 grow/shrink: 0/8 up/down: 183/-751 (-568)
function old new delta
sk_stream_alloc_skb - 183 +183
ip_rt_init 529 525 -4
arp_ignore 112 107 -5
__inet_lookup_listener 284 274 -10
tcp_sendmsg 2583 2481 -102
tcp_sendpage 1449 1300 -149
tso_fragment 417 258 -159
tcp_fragment 1149 988 -161
__tcp_push_pending_frames 1998 1837 -161
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp.c | 11 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 6b35ab841db2..eb77088f3054 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -629,8 +629,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos, | |||
629 | return ret; | 629 | return ret; |
630 | } | 630 | } |
631 | 631 | ||
632 | struct sk_buff *sk_stream_alloc_pskb(struct sock *sk, | 632 | struct sk_buff *sk_stream_alloc_skb(struct sock *sk, int size, gfp_t gfp) |
633 | int size, int mem, gfp_t gfp) | ||
634 | { | 633 | { |
635 | struct sk_buff *skb; | 634 | struct sk_buff *skb; |
636 | 635 | ||
@@ -639,7 +638,6 @@ struct sk_buff *sk_stream_alloc_pskb(struct sock *sk, | |||
639 | 638 | ||
640 | skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); | 639 | skb = alloc_skb_fclone(size + sk->sk_prot->max_header, gfp); |
641 | if (skb) { | 640 | if (skb) { |
642 | skb->truesize += mem; | ||
643 | if (sk_stream_wmem_schedule(sk, skb->truesize)) { | 641 | if (sk_stream_wmem_schedule(sk, skb->truesize)) { |
644 | /* | 642 | /* |
645 | * Make sure that we have exactly size bytes | 643 | * Make sure that we have exactly size bytes |
@@ -692,8 +690,7 @@ new_segment: | |||
692 | if (!sk_stream_memory_free(sk)) | 690 | if (!sk_stream_memory_free(sk)) |
693 | goto wait_for_sndbuf; | 691 | goto wait_for_sndbuf; |
694 | 692 | ||
695 | skb = sk_stream_alloc_pskb(sk, 0, 0, | 693 | skb = sk_stream_alloc_skb(sk, 0, sk->sk_allocation); |
696 | sk->sk_allocation); | ||
697 | if (!skb) | 694 | if (!skb) |
698 | goto wait_for_memory; | 695 | goto wait_for_memory; |
699 | 696 | ||
@@ -873,8 +870,8 @@ new_segment: | |||
873 | if (!sk_stream_memory_free(sk)) | 870 | if (!sk_stream_memory_free(sk)) |
874 | goto wait_for_sndbuf; | 871 | goto wait_for_sndbuf; |
875 | 872 | ||
876 | skb = sk_stream_alloc_pskb(sk, select_size(sk), | 873 | skb = sk_stream_alloc_skb(sk, select_size(sk), |
877 | 0, sk->sk_allocation); | 874 | sk->sk_allocation); |
878 | if (!skb) | 875 | if (!skb) |
879 | goto wait_for_memory; | 876 | goto wait_for_memory; |
880 | 877 | ||
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 546f385a405f..98835afb8d8a 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -1180,7 +1180,7 @@ static int tso_fragment(struct sock *sk, struct sk_buff *skb, unsigned int len, | |||
1180 | if (skb->len != skb->data_len) | 1180 | if (skb->len != skb->data_len) |
1181 | return tcp_fragment(sk, skb, len, mss_now); | 1181 | return tcp_fragment(sk, skb, len, mss_now); |
1182 | 1182 | ||
1183 | buff = sk_stream_alloc_pskb(sk, 0, 0, GFP_ATOMIC); | 1183 | buff = sk_stream_alloc_skb(sk, 0, GFP_ATOMIC); |
1184 | if (unlikely(buff == NULL)) | 1184 | if (unlikely(buff == NULL)) |
1185 | return -ENOMEM; | 1185 | return -ENOMEM; |
1186 | 1186 | ||