summaryrefslogtreecommitdiffstats
path: root/kernel/cgroup
diff options
context:
space:
mode:
authorChen Ridong <chenridong@huawei.com>2024-08-30 10:02:23 +0000
committerTejun Heo <tj@kernel.org>2024-08-30 10:00:16 -1000
commit530020f28f55238cfcc9d9af4e90bc06327f6542 (patch)
treed3f3fd2d5308414d79f450af944bf23fb2bef5f6 /kernel/cgroup
parent90eec9548da6e8aa2eb9f13396a0b617856a38e6 (diff)
downloadlinux-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.h2
-rw-r--r--kernel/cgroup/cpuset.c10
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);