[PATCH-cgroup v5 0/2] cgroup/rstat: Further reduce cpu_lock hold time in cgroup_rstat_flush_locked

From: Waiman Long
Date: Thu Nov 30 2023 - 15:43:53 EST


v5:
- Drop patch "cgroup/rstat: Reduce cpu_lock hold time in
cgroup_rstat_flush_locked()" as it has been merged into the for-6.8
branch.
- Rework the recursive cgroup_rstat_push_children() into an iterative
function to prevent possibility of stack overflow.

v4:
- Update patch 2 to fix a minor bug and update some of the comments.

v3:
- Minor comment twisting as suggested by Yosry.
- Add patches 2 and 3 to further reduce lock hold time

The purpose of this patch series is to further reduce the cpu_lock
hold time of cgroup_rstat_flush_locked() so as to reduce the latency
impact when cgroup_rstat_updated() is called as they may contend with
each other on the cpu_lock.

Waiman Long (2):
cgroup/rstat: Optimize cgroup_rstat_updated_list()
cgroup: Avoid false cacheline sharing of read mostly rstat_cpu

include/linux/cgroup-defs.h | 7 ++
kernel/cgroup/rstat.c | 153 +++++++++++++++++++++---------------
2 files changed, 98 insertions(+), 62 deletions(-)

--
2.39.3