[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221208195634.2604362-1-longman@redhat.com>
Date: Thu, 8 Dec 2022 14:56:32 -0500
From: Waiman Long <longman@...hat.com>
To: Tejun Heo <tj@...nel.org>, Zefan Li <lizefan.x@...edance.com>,
Johannes Weiner <hannes@...xchg.org>
Cc: cgroups@...r.kernel.org, linux-kernel@...r.kernel.org,
Waiman Long <longman@...hat.com>
Subject: [PATCH 0/2] cgroup/cpuset: Task migration optimization
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
Powered by blists - more mailing lists