diff options
author | Eric Dumazet <edumazet@google.com> | 2015-05-15 12:39:27 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-05-17 22:45:48 -0400 |
commit | b8da51ebb1aa93908350f95efae73aecbc2e266c (patch) | |
tree | 5d6b1edc272ea24b07ec2a38cbcba7c53fb44bae /include | |
parent | a6c5ea4ccf0033591e6e476d7a273c0074c07aa7 (diff) | |
download | linux-stable-b8da51ebb1aa93908350f95efae73aecbc2e266c.tar.gz linux-stable-b8da51ebb1aa93908350f95efae73aecbc2e266c.tar.bz2 linux-stable-b8da51ebb1aa93908350f95efae73aecbc2e266c.zip |
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 'include')
-rw-r--r-- | include/net/tcp.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 841691a296dc..0d85223efa4c 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -286,6 +286,14 @@ extern atomic_long_t tcp_memory_allocated; extern struct percpu_counter tcp_sockets_allocated; extern int tcp_memory_pressure; +/* optimized version of sk_under_memory_pressure() for TCP sockets */ +static inline bool tcp_under_memory_pressure(const struct sock *sk) +{ + if (mem_cgroup_sockets_enabled && sk->sk_cgrp) + return !!sk->sk_cgrp->memory_pressure; + + return tcp_memory_pressure; +} /* * The next routines deal with comparing 32 bit unsigned ints * and worry about wraparound (automatic with unsigned arithmetic). |