[PATCH v4 net-next 00/10] net-memcg: Gather memcg code under CONFIG_MEMCG.
From: Kuniyuki Iwashima <kuniyu@google.com>
Date: 2025-08-14 20:09:18
Also in:
linux-mm, mptcp, netdev
This series converts most sk->sk_memcg access to helper functions
under CONFIG_MEMCG and finally defines sk_memcg under CONFIG_MEMCG.
This is v4 of the series linked below but without core changes
that decoupled memcg and global socket memory accounting.
I will defer the changes to a follow-up series that will use BPF
to store a flag in sk->sk_memcg.
Overview of the series:
patch 1 is a bug fix for MPTCP
patch 2 ~ 9 move sk->sk_memcg accesses to a single place
patch 10 moves sk_memcg under CONFIG_MEMCG
Changes:
v4:
* Patch 1
* Use set_active_memcg()
v3: https://lore.kernel.org/netdev/20250812175848.512446-1-kuniyu@google.com/ (local)
* Patch 12
* Fix build failrue for kTLS (include <net/proto_memory.h>)
v2: https://lore.kernel.org/netdev/20250811173116.2829786-1-kuniyu@google.com/ (local)
* Remove per-memcg knob
* Patch 11
* Set flag on sk_memcg based on memory.max
* Patch 12
* Add sk_should_enter_memory_pressure() and cover
tcp_enter_memory_pressure() calls
* Update examples in changelog
v1: https://lore.kernel.org/netdev/20250721203624.3807041-1-kuniyu@google.com/ (local)
Kuniyuki Iwashima (10):
mptcp: Fix up subflow's memcg when CONFIG_SOCK_CGROUP_DATA=n.
mptcp: Use tcp_under_memory_pressure() in mptcp_epollin_ready().
tcp: Simplify error path in inet_csk_accept().
net: Call trace_sock_exceed_buf_limit() for memcg failure with
SK_MEM_RECV.
net: Clean up __sk_mem_raise_allocated().
net-memcg: Introduce mem_cgroup_from_sk().
net-memcg: Introduce mem_cgroup_sk_enabled().
net-memcg: Pass struct sock to mem_cgroup_sk_(un)?charge().
net-memcg: Pass struct sock to mem_cgroup_sk_under_memory_pressure().
net: Define sk_memcg under CONFIG_MEMCG.
include/linux/memcontrol.h | 39 ++++++++++++++--------------
include/net/proto_memory.h | 4 +--
include/net/sock.h | 46 +++++++++++++++++++++++++++++++++
include/net/tcp.h | 4 +--
mm/memcontrol.c | 29 ++++++++++++++-------
net/core/sock.c | 38 ++++++++++++++-------------
net/ipv4/inet_connection_sock.c | 19 +++++++-------
net/ipv4/tcp_output.c | 5 ++--
net/mptcp/protocol.h | 4 +--
net/mptcp/subflow.c | 11 +++-----
10 files changed, 124 insertions(+), 75 deletions(-)
--
2.51.0.rc1.163.g2494970778-goog