|
@@ -38,7 +38,7 @@
|
|
|
|
|
|
static LIST_HEAD(dying_tasks);
|
|
|
static LIST_HEAD(dead_tasks);
|
|
|
-static cpumask_t marked_cpus = CPU_MASK_NONE;
|
|
|
+static cpumask_var_t marked_cpus;
|
|
|
static DEFINE_SPINLOCK(task_mortuary);
|
|
|
static void process_task_mortuary(void);
|
|
|
|
|
@@ -456,10 +456,10 @@ static void mark_done(int cpu)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
- cpu_set(cpu, marked_cpus);
|
|
|
+ cpumask_set_cpu(cpu, marked_cpus);
|
|
|
|
|
|
for_each_online_cpu(i) {
|
|
|
- if (!cpu_isset(i, marked_cpus))
|
|
|
+ if (!cpumask_test_cpu(i, marked_cpus))
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -468,7 +468,7 @@ static void mark_done(int cpu)
|
|
|
*/
|
|
|
process_task_mortuary();
|
|
|
|
|
|
- cpus_clear(marked_cpus);
|
|
|
+ cpumask_clear(marked_cpus);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -565,6 +565,20 @@ void sync_buffer(int cpu)
|
|
|
mutex_unlock(&buffer_mutex);
|
|
|
}
|
|
|
|
|
|
+int __init buffer_sync_init(void)
|
|
|
+{
|
|
|
+ if (!alloc_cpumask_var(&marked_cpus, GFP_KERNEL))
|
|
|
+ return -ENOMEM;
|
|
|
+
|
|
|
+ cpumask_clear(marked_cpus);
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+void __exit buffer_sync_cleanup(void)
|
|
|
+{
|
|
|
+ free_cpumask_var(marked_cpus);
|
|
|
+}
|
|
|
+
|
|
|
/* The function can be used to add a buffer worth of data directly to
|
|
|
* the kernel buffer. The buffer is assumed to be a circular buffer.
|
|
|
* Take the entries from index start and end at index end, wrapping
|