hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/kernel/cgroup/cpuset.c
....@@ -339,7 +339,7 @@
339339 */
340340
341341 static DEFINE_MUTEX(cpuset_mutex);
342
-static DEFINE_RAW_SPINLOCK(callback_lock);
342
+static DEFINE_SPINLOCK(callback_lock);
343343
344344 static struct workqueue_struct *cpuset_migrate_mm_wq;
345345
....@@ -1315,7 +1315,7 @@
13151315 * Newly added CPUs will be removed from effective_cpus and
13161316 * newly deleted ones will be added back to effective_cpus.
13171317 */
1318
- raw_spin_lock_irq(&callback_lock);
1318
+ spin_lock_irq(&callback_lock);
13191319 if (adding) {
13201320 cpumask_or(parent->subparts_cpus,
13211321 parent->subparts_cpus, tmp->addmask);
....@@ -1337,7 +1337,7 @@
13371337
13381338 if (cpuset->partition_root_state != new_prs)
13391339 cpuset->partition_root_state = new_prs;
1340
- raw_spin_unlock_irq(&callback_lock);
1340
+ spin_unlock_irq(&callback_lock);
13411341
13421342 return cmd == partcmd_update;
13431343 }
....@@ -1440,7 +1440,7 @@
14401440 continue;
14411441 rcu_read_unlock();
14421442
1443
- raw_spin_lock_irq(&callback_lock);
1443
+ spin_lock_irq(&callback_lock);
14441444
14451445 cpumask_copy(cp->effective_cpus, tmp->new_cpus);
14461446 if (cp->nr_subparts_cpus && (new_prs != PRS_ENABLED)) {
....@@ -1474,7 +1474,7 @@
14741474 if (new_prs != cp->partition_root_state)
14751475 cp->partition_root_state = new_prs;
14761476
1477
- raw_spin_unlock_irq(&callback_lock);
1477
+ spin_unlock_irq(&callback_lock);
14781478
14791479 WARN_ON(!is_in_v2_mode() &&
14801480 !cpumask_equal(cp->cpus_allowed, cp->effective_cpus));
....@@ -1603,7 +1603,7 @@
16031603 return -EINVAL;
16041604 }
16051605
1606
- raw_spin_lock_irq(&callback_lock);
1606
+ spin_lock_irq(&callback_lock);
16071607 cpumask_copy(cs->cpus_allowed, trialcs->cpus_allowed);
16081608 cpumask_copy(cs->cpus_requested, trialcs->cpus_requested);
16091609
....@@ -1614,7 +1614,7 @@
16141614 cpumask_and(cs->subparts_cpus, cs->subparts_cpus, cs->cpus_allowed);
16151615 cs->nr_subparts_cpus = cpumask_weight(cs->subparts_cpus);
16161616 }
1617
- raw_spin_unlock_irq(&callback_lock);
1617
+ spin_unlock_irq(&callback_lock);
16181618
16191619 update_cpumasks_hier(cs, &tmp);
16201620
....@@ -1808,9 +1808,9 @@
18081808 continue;
18091809 rcu_read_unlock();
18101810
1811
- raw_spin_lock_irq(&callback_lock);
1811
+ spin_lock_irq(&callback_lock);
18121812 cp->effective_mems = *new_mems;
1813
- raw_spin_unlock_irq(&callback_lock);
1813
+ spin_unlock_irq(&callback_lock);
18141814
18151815 WARN_ON(!is_in_v2_mode() &&
18161816 !nodes_equal(cp->mems_allowed, cp->effective_mems));
....@@ -1878,9 +1878,9 @@
18781878 if (retval < 0)
18791879 goto done;
18801880
1881
- raw_spin_lock_irq(&callback_lock);
1881
+ spin_lock_irq(&callback_lock);
18821882 cs->mems_allowed = trialcs->mems_allowed;
1883
- raw_spin_unlock_irq(&callback_lock);
1883
+ spin_unlock_irq(&callback_lock);
18841884
18851885 /* use trialcs->mems_allowed as a temp variable */
18861886 update_nodemasks_hier(cs, &trialcs->mems_allowed);
....@@ -1971,9 +1971,9 @@
19711971 spread_flag_changed = ((is_spread_slab(cs) != is_spread_slab(trialcs))
19721972 || (is_spread_page(cs) != is_spread_page(trialcs)));
19731973
1974
- raw_spin_lock_irq(&callback_lock);
1974
+ spin_lock_irq(&callback_lock);
19751975 cs->flags = trialcs->flags;
1976
- raw_spin_unlock_irq(&callback_lock);
1976
+ spin_unlock_irq(&callback_lock);
19771977
19781978 if (!cpumask_empty(trialcs->cpus_allowed) && balance_flag_changed)
19791979 rebuild_sched_domains_locked();
....@@ -2059,9 +2059,9 @@
20592059 rebuild_sched_domains_locked();
20602060 out:
20612061 if (!err) {
2062
- raw_spin_lock_irq(&callback_lock);
2062
+ spin_lock_irq(&callback_lock);
20632063 cs->partition_root_state = new_prs;
2064
- raw_spin_unlock_irq(&callback_lock);
2064
+ spin_unlock_irq(&callback_lock);
20652065 }
20662066
20672067 free_cpumasks(NULL, &tmpmask);
....@@ -2476,7 +2476,7 @@
24762476 cpuset_filetype_t type = seq_cft(sf)->private;
24772477 int ret = 0;
24782478
2479
- raw_spin_lock_irq(&callback_lock);
2479
+ spin_lock_irq(&callback_lock);
24802480
24812481 switch (type) {
24822482 case FILE_CPULIST:
....@@ -2498,7 +2498,7 @@
24982498 ret = -EINVAL;
24992499 }
25002500
2501
- raw_spin_unlock_irq(&callback_lock);
2501
+ spin_unlock_irq(&callback_lock);
25022502 return ret;
25032503 }
25042504
....@@ -2811,14 +2811,14 @@
28112811
28122812 cpuset_inc();
28132813
2814
- raw_spin_lock_irq(&callback_lock);
2814
+ spin_lock_irq(&callback_lock);
28152815 if (is_in_v2_mode()) {
28162816 cpumask_copy(cs->effective_cpus, parent->effective_cpus);
28172817 cs->effective_mems = parent->effective_mems;
28182818 cs->use_parent_ecpus = true;
28192819 parent->child_ecpus_count++;
28202820 }
2821
- raw_spin_unlock_irq(&callback_lock);
2821
+ spin_unlock_irq(&callback_lock);
28222822
28232823 if (!test_bit(CGRP_CPUSET_CLONE_CHILDREN, &css->cgroup->flags))
28242824 goto out_unlock;
....@@ -2845,13 +2845,13 @@
28452845 }
28462846 rcu_read_unlock();
28472847
2848
- raw_spin_lock_irq(&callback_lock);
2848
+ spin_lock_irq(&callback_lock);
28492849 cs->mems_allowed = parent->mems_allowed;
28502850 cs->effective_mems = parent->mems_allowed;
28512851 cpumask_copy(cs->cpus_allowed, parent->cpus_allowed);
28522852 cpumask_copy(cs->cpus_requested, parent->cpus_requested);
28532853 cpumask_copy(cs->effective_cpus, parent->cpus_allowed);
2854
- raw_spin_unlock_irq(&callback_lock);
2854
+ spin_unlock_irq(&callback_lock);
28552855 out_unlock:
28562856 mutex_unlock(&cpuset_mutex);
28572857 put_online_cpus();
....@@ -2907,7 +2907,7 @@
29072907 static void cpuset_bind(struct cgroup_subsys_state *root_css)
29082908 {
29092909 mutex_lock(&cpuset_mutex);
2910
- raw_spin_lock_irq(&callback_lock);
2910
+ spin_lock_irq(&callback_lock);
29112911
29122912 if (is_in_v2_mode()) {
29132913 cpumask_copy(top_cpuset.cpus_allowed, cpu_possible_mask);
....@@ -2918,7 +2918,7 @@
29182918 top_cpuset.mems_allowed = top_cpuset.effective_mems;
29192919 }
29202920
2921
- raw_spin_unlock_irq(&callback_lock);
2921
+ spin_unlock_irq(&callback_lock);
29222922 mutex_unlock(&cpuset_mutex);
29232923 }
29242924
....@@ -3018,12 +3018,12 @@
30183018 {
30193019 bool is_empty;
30203020
3021
- raw_spin_lock_irq(&callback_lock);
3021
+ spin_lock_irq(&callback_lock);
30223022 cpumask_copy(cs->cpus_allowed, new_cpus);
30233023 cpumask_copy(cs->effective_cpus, new_cpus);
30243024 cs->mems_allowed = *new_mems;
30253025 cs->effective_mems = *new_mems;
3026
- raw_spin_unlock_irq(&callback_lock);
3026
+ spin_unlock_irq(&callback_lock);
30273027
30283028 /*
30293029 * Don't call update_tasks_cpumask() if the cpuset becomes empty,
....@@ -3060,10 +3060,10 @@
30603060 if (nodes_empty(*new_mems))
30613061 *new_mems = parent_cs(cs)->effective_mems;
30623062
3063
- raw_spin_lock_irq(&callback_lock);
3063
+ spin_lock_irq(&callback_lock);
30643064 cpumask_copy(cs->effective_cpus, new_cpus);
30653065 cs->effective_mems = *new_mems;
3066
- raw_spin_unlock_irq(&callback_lock);
3066
+ spin_unlock_irq(&callback_lock);
30673067
30683068 if (cpus_updated)
30693069 update_tasks_cpumask(cs);
....@@ -3130,10 +3130,10 @@
31303130 if (is_partition_root(cs) && (cpumask_empty(&new_cpus) ||
31313131 (parent->partition_root_state == PRS_ERROR))) {
31323132 if (cs->nr_subparts_cpus) {
3133
- raw_spin_lock_irq(&callback_lock);
3133
+ spin_lock_irq(&callback_lock);
31343134 cs->nr_subparts_cpus = 0;
31353135 cpumask_clear(cs->subparts_cpus);
3136
- raw_spin_unlock_irq(&callback_lock);
3136
+ spin_unlock_irq(&callback_lock);
31373137 compute_effective_cpumask(&new_cpus, cs, parent);
31383138 }
31393139
....@@ -3147,9 +3147,9 @@
31473147 cpumask_empty(&new_cpus)) {
31483148 update_parent_subparts_cpumask(cs, partcmd_disable,
31493149 NULL, tmp);
3150
- raw_spin_lock_irq(&callback_lock);
3150
+ spin_lock_irq(&callback_lock);
31513151 cs->partition_root_state = PRS_ERROR;
3152
- raw_spin_unlock_irq(&callback_lock);
3152
+ spin_unlock_irq(&callback_lock);
31533153 }
31543154 cpuset_force_rebuild();
31553155 }
....@@ -3229,7 +3229,7 @@
32293229
32303230 /* synchronize cpus_allowed to cpu_active_mask */
32313231 if (cpus_updated) {
3232
- raw_spin_lock_irq(&callback_lock);
3232
+ spin_lock_irq(&callback_lock);
32333233 if (!on_dfl)
32343234 cpumask_copy(top_cpuset.cpus_allowed, &new_cpus);
32353235 /*
....@@ -3249,17 +3249,17 @@
32493249 }
32503250 }
32513251 cpumask_copy(top_cpuset.effective_cpus, &new_cpus);
3252
- raw_spin_unlock_irq(&callback_lock);
3252
+ spin_unlock_irq(&callback_lock);
32533253 /* we don't mess with cpumasks of tasks in top_cpuset */
32543254 }
32553255
32563256 /* synchronize mems_allowed to N_MEMORY */
32573257 if (mems_updated) {
3258
- raw_spin_lock_irq(&callback_lock);
3258
+ spin_lock_irq(&callback_lock);
32593259 if (!on_dfl)
32603260 top_cpuset.mems_allowed = new_mems;
32613261 top_cpuset.effective_mems = new_mems;
3262
- raw_spin_unlock_irq(&callback_lock);
3262
+ spin_unlock_irq(&callback_lock);
32633263 update_tasks_nodemask(&top_cpuset);
32643264 }
32653265
....@@ -3368,11 +3368,11 @@
33683368 {
33693369 unsigned long flags;
33703370
3371
- raw_spin_lock_irqsave(&callback_lock, flags);
3371
+ spin_lock_irqsave(&callback_lock, flags);
33723372 rcu_read_lock();
33733373 guarantee_online_cpus(tsk, pmask);
33743374 rcu_read_unlock();
3375
- raw_spin_unlock_irqrestore(&callback_lock, flags);
3375
+ spin_unlock_irqrestore(&callback_lock, flags);
33763376 }
33773377 EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);
33783378 /**
....@@ -3441,11 +3441,11 @@
34413441 nodemask_t mask;
34423442 unsigned long flags;
34433443
3444
- raw_spin_lock_irqsave(&callback_lock, flags);
3444
+ spin_lock_irqsave(&callback_lock, flags);
34453445 rcu_read_lock();
34463446 guarantee_online_mems(task_cs(tsk), &mask);
34473447 rcu_read_unlock();
3448
- raw_spin_unlock_irqrestore(&callback_lock, flags);
3448
+ spin_unlock_irqrestore(&callback_lock, flags);
34493449
34503450 return mask;
34513451 }
....@@ -3537,14 +3537,14 @@
35373537 return true;
35383538
35393539 /* Not hardwall and node outside mems_allowed: scan up cpusets */
3540
- raw_spin_lock_irqsave(&callback_lock, flags);
3540
+ spin_lock_irqsave(&callback_lock, flags);
35413541
35423542 rcu_read_lock();
35433543 cs = nearest_hardwall_ancestor(task_cs(current));
35443544 allowed = node_isset(node, cs->mems_allowed);
35453545 rcu_read_unlock();
35463546
3547
- raw_spin_unlock_irqrestore(&callback_lock, flags);
3547
+ spin_unlock_irqrestore(&callback_lock, flags);
35483548 return allowed;
35493549 }
35503550