[PATCH net-next] tcp: minor optimization for calculating packets_out in tcp connect

From: Yafang Shao
Date: Sat Dec 15 2018 - 04:33:42 EST


When we building a syn packet, the tcp_skb_pcount(skb) is always 1,
which is set in tcp_init_nondata_skb().
Regarding the syn_data, it is set through
memcpy(syn_data->cb, syn->cb, sizeof(syn->cb)),
which is always 1 as well.

So we don't need to use tcp_skb_pcount(skb), that could give us a
little improvement.

Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx>
---
net/ipv4/tcp_output.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 730bc44..12bb5e7 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -3404,7 +3404,7 @@ static void tcp_connect_queue_skb(struct sock *sk, struct sk_buff *skb)
sk->sk_wmem_queued += skb->truesize;
sk_mem_charge(sk, skb->truesize);
tp->write_seq = tcb->end_seq;
- tp->packets_out += tcp_skb_pcount(skb);
+ tp->packets_out += 1;
}

/* Build and send a SYN with data and (cached) Fast Open cookie. However,
@@ -3486,7 +3486,7 @@ static int tcp_send_syn_data(struct sock *sk, struct sk_buff *syn)

/* data was not sent, put it in write_queue */
__skb_queue_tail(&sk->sk_write_queue, syn_data);
- tp->packets_out -= tcp_skb_pcount(syn_data);
+ tp->packets_out -= 1;

fallback:
/* Send a regular SYN with Fast Open cookie request option */
--
1.8.3.1