+11
−1
Loading
mainline inclusion from mainline-v6.6-rc1 commit ac8a5296 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I9RB5N Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ac8a52962164a50e693fa021d3564d7745b83a7f ---------------------------------------------------------------------- Now there are two indicators of socket memory pressure sit inside struct mem_cgroup, socket_pressure and tcpmem_pressure, indicating memory reclaim pressure in memcg->memory and ->tcpmem respectively. When in legacy mode (cgroupv1), the socket memory is charged into ->tcpmem which is independent of ->memory, so socket_pressure has nothing to do with socket's pressure at all. Things could be worse by taking socket_pressure into consideration in legacy mode, as a pressure in ->memory can lead to premature reclamation/throttling in socket. While for the default mode (cgroupv2), the socket memory is charged into ->memory, and ->tcpmem/->tcpmem_pressure are simply not used. So {socket,tcpmem}_pressure are only used in default/legacy mode respectively for indicating socket memory pressure. This patch fixes the pieces of code that make mixed use of both. Fixes: 8e8ae645 ("mm: memcontrol: hook up vmpressure to socket pressure") Signed-off-by:Abel Wu <wuyun.abel@bytedance.com> Acked-by:
Shakeel Butt <shakeelb@google.com> Signed-off-by:
David S. Miller <davem@davemloft.net> Conflicts: include/linux/memcontrol.h mm/vmpressure.c [mm/vmpressure.c: whether mem_cgroup_disabled or not was added] Signed-off-by:
Chen Ridong <chenridong@huawei.com>