Messages in this thread | | | From | Waiman Long <> | Subject | [PATCH 0/2] cgroup/cpuset: Task migration optimization | Date | Thu, 8 Dec 2022 14:56:32 -0500 |
| |
It is found that workloads that generate a lot of task migrations among different cpusets are severely throttled because of the use of percpu rwsem in cpuset_rwsem. It is the same problem that led to commit 3942a9bd7b58 ("locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write()") and commit 6a010a49b63a ("cgroup: Make !percpu threadgroup_rwsem operations optional").
The first patch in this series changes cpuset_can_attach() to use the read lock instead of the write lock. The second patch allows disabling of percpu reader fast path depending on the presence of CGRP_ROOT_FAVOR_DYNMODS flag in the cgroup root.
Waiman Long (2): cgroup/cpuset: Use cpuset_rwsem read lock in cpuset_can_attach() cgroup/cpuset: Make percpu cpuset_rwsem operation depending on DYNMODS state
kernel/cgroup/cpuset.c | 75 ++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 17 deletions(-)
-- 2.31.1
| |