Memmory pressure is referenced as a pointer in socket structure. Simple check for pointer address will always return true for each socket, allocated with enabled mem_cg. Memory pressure value has to checked instead.
https://jira.sw.ru/browse/PSBM-66468 Signed-off-by: Stanislav Kinsburskiy <skinsbur...@virtuozzo.com> --- include/net/tcp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/net/tcp.h b/include/net/tcp.h index d64d30b..f2b4843 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -298,7 +298,7 @@ extern int tcp_memory_pressure; 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 *sk->sk_cgrp->memory_pressure; return tcp_memory_pressure; } _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel