[PATCH mm-unstable v4 0/5] Improve mem_cgroup_iter()

From: Kinsey Ho
Date: Wed Sep 04 2024 - 20:31:58 EST


Incremental cgroup iteration is being used again [1]. This patchset
improves the reliability of mem_cgroup_iter(). It also improves
simplicity and code readability.

[1] https://lore.kernel.org/20240514202641.2821494-1-hannes@xxxxxxxxxxx/
---
v4: Fixed memcg restart bug reported by hughd in v3, patch 4/5
v3: https://lore.kernel.org/20240827230753.2073580-1-kinseyho@xxxxxxxxxx/
Removed __rcu tag from patch 2/5 which removes the need for
rcu_dereference(). This helps readability.
v2: https://lore.kernel.org/20240813204716.842811-1-kinseyho@xxxxxxxxxx/
Add patch to clarify css sibling linkage is RCU protected. The
kernel build bot RCU sparse error from v1 has been ignored.
v1: https://lore.kernel.org/20240724190214.1108049-1-kinseyho@xxxxxxxxxx/

Kinsey Ho (5):
cgroup: clarify css sibling linkage is protected by cgroup_mutex or
RCU
mm: don't hold css->refcnt during traversal
mm: increment gen # before restarting traversal
mm: restart if multiple traversals raced
mm: clean up mem_cgroup_iter()

include/linux/cgroup-defs.h | 6 ++-
include/linux/memcontrol.h | 4 +-
kernel/cgroup/cgroup.c | 16 +++----
mm/memcontrol.c | 84 ++++++++++++++++---------------------
4 files changed, 51 insertions(+), 59 deletions(-)

--
2.46.0.469.g59c65b2a67-goog