diff options
author | Chen Ridong <chenridong@huawei.com> | 2024-08-30 10:02:23 +0000 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2024-08-30 10:00:16 -1000 |
commit | 530020f28f55238cfcc9d9af4e90bc06327f6542 (patch) | |
tree | d3f3fd2d5308414d79f450af944bf23fb2bef5f6 /kernel/cgroup | |
parent | 90eec9548da6e8aa2eb9f13396a0b617856a38e6 (diff) | |
download | linux-530020f28f55238cfcc9d9af4e90bc06327f6542.tar.gz linux-530020f28f55238cfcc9d9af4e90bc06327f6542.tar.bz2 linux-530020f28f55238cfcc9d9af4e90bc06327f6542.zip |
cgroup/cpuset: add callback_lock helper
To modify cpuset, both cpuset_mutex and callback_lock are needed. Add
helpers for cpuset-v1 to get callback_lock.
Signed-off-by: Chen Ridong <chenridong@huawei.com>
Acked-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/cgroup')
-rw-r--r-- | kernel/cgroup/cpuset-internal.h | 2 | ||||
-rw-r--r-- | kernel/cgroup/cpuset.c | 10 |
2 files changed, 12 insertions, 0 deletions
diff --git a/kernel/cgroup/cpuset-internal.h b/kernel/cgroup/cpuset-internal.h index 02c4b0c74fa9..9a60dd6681e4 100644 --- a/kernel/cgroup/cpuset-internal.h +++ b/kernel/cgroup/cpuset-internal.h @@ -239,6 +239,8 @@ static inline int is_spread_slab(const struct cpuset *cs) } void rebuild_sched_domains_locked(void); +void callback_lock_irq(void); +void callback_unlock_irq(void); /* * cpuset-v1.c diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c index c77f35fb8347..8a9a7fe1ec1e 100644 --- a/kernel/cgroup/cpuset.c +++ b/kernel/cgroup/cpuset.c @@ -275,6 +275,16 @@ void cpuset_unlock(void) static DEFINE_SPINLOCK(callback_lock); +void callback_lock_irq(void) +{ + spin_lock_irq(&callback_lock); +} + +void callback_unlock_irq(void) +{ + spin_unlock_irq(&callback_lock); +} + static struct workqueue_struct *cpuset_migrate_mm_wq; static DECLARE_WAIT_QUEUE_HEAD(cpuset_attach_wq); |