diff options
author | Eric Dumazet <edumazet@google.com> | 2015-05-15 15:39:27 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-17 22:45:48 -0400 |
commit | b8da51ebb1aa93908350f95efae73aecbc2e266c (patch) | |
tree | 5d6b1edc272ea24b07ec2a38cbcba7c53fb44bae /net/ipv4/tcp_input.c | |
parent | a6c5ea4ccf0033591e6e476d7a273c0074c07aa7 (diff) |
tcp: introduce tcp_under_memory_pressure()
Introduce an optimized version of sk_under_memory_pressure()
for TCP. Our intent is to use it in fast paths.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index cf8b20ff6658..093779f7e893 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -359,7 +359,7 @@ static void tcp_grow_window(struct sock *sk, const struct sk_buff *skb) | |||
359 | /* Check #1 */ | 359 | /* Check #1 */ |
360 | if (tp->rcv_ssthresh < tp->window_clamp && | 360 | if (tp->rcv_ssthresh < tp->window_clamp && |
361 | (int)tp->rcv_ssthresh < tcp_space(sk) && | 361 | (int)tp->rcv_ssthresh < tcp_space(sk) && |
362 | !sk_under_memory_pressure(sk)) { | 362 | !tcp_under_memory_pressure(sk)) { |
363 | int incr; | 363 | int incr; |
364 | 364 | ||
365 | /* Check #2. Increase window, if skb with such overhead | 365 | /* Check #2. Increase window, if skb with such overhead |
@@ -446,7 +446,7 @@ static void tcp_clamp_window(struct sock *sk) | |||
446 | 446 | ||
447 | if (sk->sk_rcvbuf < sysctl_tcp_rmem[2] && | 447 | if (sk->sk_rcvbuf < sysctl_tcp_rmem[2] && |
448 | !(sk->sk_userlocks & SOCK_RCVBUF_LOCK) && | 448 | !(sk->sk_userlocks & SOCK_RCVBUF_LOCK) && |
449 | !sk_under_memory_pressure(sk) && | 449 | !tcp_under_memory_pressure(sk) && |
450 | sk_memory_allocated(sk) < sk_prot_mem_limits(sk, 0)) { | 450 | sk_memory_allocated(sk) < sk_prot_mem_limits(sk, 0)) { |
451 | sk->sk_rcvbuf = min(atomic_read(&sk->sk_rmem_alloc), | 451 | sk->sk_rcvbuf = min(atomic_read(&sk->sk_rmem_alloc), |
452 | sysctl_tcp_rmem[2]); | 452 | sysctl_tcp_rmem[2]); |
@@ -4781,7 +4781,7 @@ static int tcp_prune_queue(struct sock *sk) | |||
4781 | 4781 | ||
4782 | if (atomic_read(&sk->sk_rmem_alloc) >= sk->sk_rcvbuf) | 4782 | if (atomic_read(&sk->sk_rmem_alloc) >= sk->sk_rcvbuf) |
4783 | tcp_clamp_window(sk); | 4783 | tcp_clamp_window(sk); |
4784 | else if (sk_under_memory_pressure(sk)) | 4784 | else if (tcp_under_memory_pressure(sk)) |
4785 | tp->rcv_ssthresh = min(tp->rcv_ssthresh, 4U * tp->advmss); | 4785 | tp->rcv_ssthresh = min(tp->rcv_ssthresh, 4U * tp->advmss); |
4786 | 4786 | ||
4787 | tcp_collapse_ofo_queue(sk); | 4787 | tcp_collapse_ofo_queue(sk); |
@@ -4825,7 +4825,7 @@ static bool tcp_should_expand_sndbuf(const struct sock *sk) | |||
4825 | return false; | 4825 | return false; |
4826 | 4826 | ||
4827 | /* If we are under global TCP memory pressure, do not expand. */ | 4827 | /* If we are under global TCP memory pressure, do not expand. */ |
4828 | if (sk_under_memory_pressure(sk)) | 4828 | if (tcp_under_memory_pressure(sk)) |
4829 | return false; | 4829 | return false; |
4830 | 4830 | ||
4831 | /* If we are under soft global TCP memory pressure, do not expand. */ | 4831 | /* If we are under soft global TCP memory pressure, do not expand. */ |