cpumask: finish conversion of kernel/trace/ring_buffer.c

Importantly, change cpumask to a cpumask_var_t.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 kernel/trace/ring_buffer.c |   42 +++++++++++++++++++++++++-----------------
 1 file changed, 25 insertions(+), 17 deletions(-)

diff -r acbeb5263707 kernel/trace/ring_buffer.c
--- a/kernel/trace/ring_buffer.c	Wed Nov 19 00:06:58 2008 +1030
+++ b/kernel/trace/ring_buffer.c	Wed Nov 19 00:41:19 2008 +1030
@@ -103,7 +103,7 @@
 }
 
 #define for_each_buffer_cpu(buffer, cpu)		\
-	for_each_cpu_mask(cpu, buffer->cpumask)
+	for_each_cpu(cpu, buffer->cpumask)
 
 #define TS_SHIFT	27
 #define TS_MASK		((1ULL << TS_SHIFT) - 1)
@@ -170,7 +170,7 @@
 	unsigned long			size;
 	unsigned			pages;
 	unsigned			flags;
-	cpumask_t			cpumask;
+	cpumask_var_t			cpumask;
 	atomic_t			record_disabled;
 
 	struct mutex			mutex;
@@ -369,6 +369,9 @@
 	if (!buffer)
 		return NULL;
 
+	if (!alloc_cpumask_var(&buffer->cpumask, GFP_KERNEL))
+		goto fail_free_buffer;
+
 	buffer->pages = DIV_ROUND_UP(size, BUF_PAGE_SIZE);
 	buffer->flags = flags;
 
@@ -376,11 +379,11 @@
 	if (buffer->pages == 1)
 		buffer->pages++;
 
-	buffer->cpumask = cpu_possible_map;
+	cpumask_copy(buffer->cpumask, cpu_possible_mask);
 
 	buffer->buffers_pcpu = alloc_percpu(struct ring_buffer_per_cpu);
 	if (!buffer->buffers_pcpu)
-		goto fail_free_buffer;
+		goto fail_free_cpumask;
 
 	for_each_buffer_cpu(buffer, cpu) {
 		*per_cpu_ptr(buffer->buffers_pcpu, cpu) =
@@ -401,6 +404,9 @@
 	}
 	free_percpu(buffer->buffers_pcpu);
 
+ fail_free_cpumask:
+	free_cpumask_var(buffer->cpumask);
+
  fail_free_buffer:
 	kfree(buffer);
 	return NULL;
@@ -417,6 +423,8 @@
 
 	for_each_buffer_cpu(buffer, cpu)
 		rb_free_cpu_buffer(*per_cpu_ptr(buffer->buffers_pcpu, cpu));
+
+	free_cpumask_var(buffer->cpumask);
 
 	kfree(buffer);
 }
@@ -1138,7 +1146,7 @@
 
 	cpu = raw_smp_processor_id();
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		goto out;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1253,7 +1261,7 @@
 
 	cpu = raw_smp_processor_id();
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		goto out;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1335,7 +1343,7 @@
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1354,7 +1362,7 @@
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1370,7 +1378,7 @@
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return 0;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1386,7 +1394,7 @@
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return 0;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1691,7 +1699,7 @@
 	struct buffer_page *reader;
 	int nr_loops = 0;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return NULL;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -1830,7 +1838,7 @@
 	struct ring_buffer_per_cpu *cpu_buffer;
 	struct ring_buffer_event *event;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return NULL;
 
 	event = ring_buffer_peek(buffer, cpu, ts);
@@ -1862,7 +1870,7 @@
 	struct ring_buffer_iter *iter;
 	unsigned long flags;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return NULL;
 
 	iter = kmalloc(sizeof(*iter), GFP_KERNEL);
@@ -1961,7 +1969,7 @@
 	struct ring_buffer_per_cpu *cpu_buffer;
 	unsigned long flags;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -2012,7 +2020,7 @@
 {
 	struct ring_buffer_per_cpu *cpu_buffer;
 
-	if (!cpu_isset(cpu, buffer->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer->cpumask))
 		return 1;
 
 	cpu_buffer = *per_cpu_ptr(buffer->buffers_pcpu, cpu);
@@ -2035,8 +2043,8 @@
 	struct ring_buffer_per_cpu *cpu_buffer_a;
 	struct ring_buffer_per_cpu *cpu_buffer_b;
 
-	if (!cpu_isset(cpu, buffer_a->cpumask) ||
-	    !cpu_isset(cpu, buffer_b->cpumask))
+	if (!cpumask_test_cpu(cpu, buffer_a->cpumask) ||
+	    !cpumask_test_cpu(cpu, buffer_b->cpumask))
 		return -EINVAL;
 
 	/* At least make sure the two buffers are somewhat the same */
