Subject: [PATCH 2/3] tcp: Remove unrequired operations in tcp_push()

From: Krishna Kumar <[email-masked]>
Date: Wed, 09 Dec 2009 13:56:19 +0530

From: Krishna Kumar <[email-masked]>

Remove unrequired operations in tcp_push()

Signed-off-by: Krishna Kumar <[email-masked]>
---
 net/ipv4/tcp.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff -ruNp org/net/ipv4/tcp.c new/net/ipv4/tcp.c
--- org/net/ipv4/tcp.c	2009-12-04 18:16:10.000000000 +0530
+++ new/net/ipv4/tcp.c	2009-12-09 10:01:35.000000000 +0530
@@ -536,8 +536,7 @@ static inline void skb_entail(struct soc
 		tp->nonagle &= ~TCP_NAGLE_PUSH;
 }
 
-static inline void tcp_mark_urg(struct tcp_sock *tp, int flags,
-				struct sk_buff *skb)
+static inline void tcp_mark_urg(struct tcp_sock *tp, int flags)
 {
 	if (flags & MSG_OOB)
 		tp->snd_up = tp->write_seq;
@@ -546,13 +545,15 @@ static inline void tcp_mark_urg(struct t
 static inline void tcp_push(struct sock *sk, int flags, int mss_now,
 			    int nonagle)
 {
-	struct tcp_sock *tp = tcp_sk(sk);
-
 	if (tcp_send_head(sk)) {
-		struct sk_buff *skb = tcp_write_queue_tail(sk);
-		if (!(flags & MSG_MORE) || forced_push(tp))
+		struct tcp_sock *tp = tcp_sk(sk);
+
+		if (!(flags & MSG_MORE) || forced_push(tp)) {
+			struct sk_buff *skb = tcp_write_queue_tail(sk);
+
 			tcp_mark_push(tp, skb);
-		tcp_mark_urg(tp, flags, skb);
+		}
+		tcp_mark_urg(tp, flags);
 		__tcp_push_pending_frames(sk, mss_now,
 					  (flags & MSG_MORE) ? TCP_NAGLE_CORK : nonagle);
 	}