diff options
author | Krishna Kumar <krkumar2@in.ibm.com> | 2009-12-08 17:26:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-23 17:13:28 -0500 |
commit | 12d50c46dc0f7fd2e625c4befaa5fa5740a7a594 (patch) | |
tree | 03e0179cd2d0e7d02f67623ee2760a5fe6c3fcac /include/net/tcp.h | |
parent | 7ef8a2127a64d131c4dbe5b843e5708f6e75552b (diff) |
tcp: Remove check in __tcp_push_pending_frames
tcp_push checks tcp_send_head and calls __tcp_push_pending_frames,
which again checks tcp_send_head, and this unnecessary check is
done for every other caller of __tcp_push_pending_frames.
Remove tcp_send_head check in __tcp_push_pending_frames and add
the check to tcp_push_pending_frames. Other functions call
__tcp_push_pending_frames only when tcp_send_head would evaluate
to true.
Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Acked-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/tcp.h')
-rw-r--r-- | include/net/tcp.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 34f5cc24d903..185e22baecb1 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -856,13 +856,6 @@ static inline void tcp_check_probe_timer(struct sock *sk) | |||
856 | icsk->icsk_rto, TCP_RTO_MAX); | 856 | icsk->icsk_rto, TCP_RTO_MAX); |
857 | } | 857 | } |
858 | 858 | ||
859 | static inline void tcp_push_pending_frames(struct sock *sk) | ||
860 | { | ||
861 | struct tcp_sock *tp = tcp_sk(sk); | ||
862 | |||
863 | __tcp_push_pending_frames(sk, tcp_current_mss(sk), tp->nonagle); | ||
864 | } | ||
865 | |||
866 | static inline void tcp_init_wl(struct tcp_sock *tp, u32 seq) | 859 | static inline void tcp_init_wl(struct tcp_sock *tp, u32 seq) |
867 | { | 860 | { |
868 | tp->snd_wl1 = seq; | 861 | tp->snd_wl1 = seq; |
@@ -1342,6 +1335,15 @@ static inline int tcp_write_queue_empty(struct sock *sk) | |||
1342 | return skb_queue_empty(&sk->sk_write_queue); | 1335 | return skb_queue_empty(&sk->sk_write_queue); |
1343 | } | 1336 | } |
1344 | 1337 | ||
1338 | static inline void tcp_push_pending_frames(struct sock *sk) | ||
1339 | { | ||
1340 | if (tcp_send_head(sk)) { | ||
1341 | struct tcp_sock *tp = tcp_sk(sk); | ||
1342 | |||
1343 | __tcp_push_pending_frames(sk, tcp_current_mss(sk), tp->nonagle); | ||
1344 | } | ||
1345 | } | ||
1346 | |||
1345 | /* Start sequence of the highest skb with SACKed bit, valid only if | 1347 | /* Start sequence of the highest skb with SACKed bit, valid only if |
1346 | * sacked > 0 or when the caller has ensured validity by itself. | 1348 | * sacked > 0 or when the caller has ensured validity by itself. |
1347 | */ | 1349 | */ |