diff options
author | Yafang Shao <laoar.shao@gmail.com> | 2018-05-29 11:27:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-05-31 13:20:47 -0400 |
commit | 3d97d88e8091f3501e016f6b4ce45a32c4b8f2f6 (patch) | |
tree | d5337f3bf77ad4677098f20351e91af3af325adf /net/ipv4 | |
parent | 0c3a4cf84fb9ab17a4c9d3b34cfd6098887dd998 (diff) |
tcp: minor optimization around tcp_hdr() usage in receive path
This is additional to the
commit ea1627c20c34 ("tcp: minor optimizations around tcp_hdr() usage").
At this point, skb->data is same with tcp_hdr() as tcp header has not
been pulled yet. So use the less expensive one to get the tcp header.
Remove the third parameter of tcp_rcv_established() and put it into
the function body.
Furthermore, the local variables are listed as a reverse christmas tree :)
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Yafang Shao <laoar.shao@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_input.c | 6 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 1191cac72109..d5ffb573ca4d 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -5390,11 +5390,11 @@ discard: | |||
5390 | * the rest is checked inline. Fast processing is turned on in | 5390 | * the rest is checked inline. Fast processing is turned on in |
5391 | * tcp_data_queue when everything is OK. | 5391 | * tcp_data_queue when everything is OK. |
5392 | */ | 5392 | */ |
5393 | void tcp_rcv_established(struct sock *sk, struct sk_buff *skb, | 5393 | void tcp_rcv_established(struct sock *sk, struct sk_buff *skb) |
5394 | const struct tcphdr *th) | ||
5395 | { | 5394 | { |
5396 | unsigned int len = skb->len; | 5395 | const struct tcphdr *th = (const struct tcphdr *)skb->data; |
5397 | struct tcp_sock *tp = tcp_sk(sk); | 5396 | struct tcp_sock *tp = tcp_sk(sk); |
5397 | unsigned int len = skb->len; | ||
5398 | 5398 | ||
5399 | /* TCP congestion window tracking */ | 5399 | /* TCP congestion window tracking */ |
5400 | trace_tcp_probe(sk, skb); | 5400 | trace_tcp_probe(sk, skb); |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index adbdb503db0c..749b0ef9f405 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -1486,7 +1486,7 @@ int tcp_v4_do_rcv(struct sock *sk, struct sk_buff *skb) | |||
1486 | sk->sk_rx_dst = NULL; | 1486 | sk->sk_rx_dst = NULL; |
1487 | } | 1487 | } |
1488 | } | 1488 | } |
1489 | tcp_rcv_established(sk, skb, tcp_hdr(skb)); | 1489 | tcp_rcv_established(sk, skb); |
1490 | return 0; | 1490 | return 0; |
1491 | } | 1491 | } |
1492 | 1492 | ||