diff options
Diffstat (limited to 'include/net/proto_memory.h')
| -rw-r--r-- | include/net/proto_memory.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/net/proto_memory.h b/include/net/proto_memory.h index a6ab2f4f5e28..ad6d703ce6fe 100644 --- a/include/net/proto_memory.h +++ b/include/net/proto_memory.h @@ -31,10 +31,13 @@ static inline bool sk_under_memory_pressure(const struct sock *sk) if (!sk->sk_prot->memory_pressure) return false; - if (mem_cgroup_sockets_enabled && sk->sk_memcg && - mem_cgroup_under_socket_pressure(sk->sk_memcg)) + if (mem_cgroup_sk_enabled(sk) && + mem_cgroup_sk_under_memory_pressure(sk)) return true; + if (sk->sk_bypass_prot_mem) + return false; + return !!READ_ONCE(*sk->sk_prot->memory_pressure); } |
