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

From: Kinsey Ho
Date: Tue Aug 27 2024 - 19:11:46 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/
---
v3: 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, 50 insertions(+), 60 deletions(-)

--
2.46.0.295.g3b9ea8a38a-goog