hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/include/linux/cpuset.h
....@@ -15,6 +15,7 @@
1515 #include <linux/cpumask.h>
1616 #include <linux/nodemask.h>
1717 #include <linux/mm.h>
18
+#include <linux/mmu_context.h>
1819 #include <linux/jump_label.h>
1920
2021 #ifdef CONFIG_CPUSETS
....@@ -40,20 +41,21 @@
4041
4142 static inline void cpuset_inc(void)
4243 {
43
- static_branch_inc(&cpusets_pre_enable_key);
44
- static_branch_inc(&cpusets_enabled_key);
44
+ static_branch_inc_cpuslocked(&cpusets_pre_enable_key);
45
+ static_branch_inc_cpuslocked(&cpusets_enabled_key);
4546 }
4647
4748 static inline void cpuset_dec(void)
4849 {
49
- static_branch_dec(&cpusets_enabled_key);
50
- static_branch_dec(&cpusets_pre_enable_key);
50
+ static_branch_dec_cpuslocked(&cpusets_enabled_key);
51
+ static_branch_dec_cpuslocked(&cpusets_pre_enable_key);
5152 }
5253
5354 extern int cpuset_init(void);
5455 extern void cpuset_init_smp(void);
5556 extern void cpuset_force_rebuild(void);
5657 extern void cpuset_update_active_cpus(void);
58
+extern void cpuset_update_active_cpus_affine(int cpu);
5759 extern void cpuset_wait_for_hotplug(void);
5860 extern void cpuset_cpus_allowed(struct task_struct *p, struct cpumask *mask);
5961 extern void cpuset_cpus_allowed_fallback(struct task_struct *p);
....@@ -160,6 +162,8 @@
160162 task_unlock(current);
161163 }
162164
165
+extern void cpuset_hotplug_workfn(struct work_struct *work);
166
+
163167 #else /* !CONFIG_CPUSETS */
164168
165169 static inline bool cpusets_enabled(void) { return false; }
....@@ -168,6 +172,8 @@
168172 static inline void cpuset_init_smp(void) {}
169173
170174 static inline void cpuset_force_rebuild(void) { }
175
+
176
+static inline void cpuset_update_active_cpus_affine(int cpu) {}
171177
172178 static inline void cpuset_update_active_cpus(void)
173179 {
....@@ -179,7 +185,7 @@
179185 static inline void cpuset_cpus_allowed(struct task_struct *p,
180186 struct cpumask *mask)
181187 {
182
- cpumask_copy(mask, cpu_possible_mask);
188
+ cpumask_copy(mask, task_cpu_possible_mask(p));
183189 }
184190
185191 static inline void cpuset_cpus_allowed_fallback(struct task_struct *p)
....@@ -275,6 +281,8 @@
275281 return false;
276282 }
277283
284
+static inline void cpuset_hotplug_workfn(struct work_struct *work) {}
285
+
278286 #endif /* !CONFIG_CPUSETS */
279287
280288 #endif /* _LINUX_CPUSET_H */