[PATCH] use for_each_cpu in oprofile code

Anton Blanchard
2004-09-04T17:48:05Z

Replace open coded versions with for_each_cpu()/for_each_online_cpu().

Signed-off-by: Anton Blanchard <anton@samba.org>

===== cpu_buffer.c 1.11 vs edited =====
--- 1.11/drivers/oprofile/cpu_buffer.c Fri Aug 27 16:42:56 2004
+++ edited/cpu_buffer.c Sun Sep 5 02:18:01 2004
@@ -36,11 +36,8 @@
{
int i;

- for (i = 0; i < NR_CPUS; ++i) {
- if (!cpu_online(i))
- continue;
+ for_each_online_cpu(i)
vfree(cpu_buffer[i].buffer);
- }
}

@@ -50,12 +47,9 @@

unsigned long buffer_size = fs_cpu_buffer_size;

- for (i = 0; i < NR_CPUS; ++i) {
+ for_each_online_cpu(i) {
struct oprofile_cpu_buffer * b = &cpu_buffer[i];

- if (!cpu_online(i))
- continue;
-
b->buffer = vmalloc(sizeof(struct op_sample) * buffer_size);
if (!b->buffer)
goto fail;
@@ -94,12 +88,9 @@

timers_enabled = 1;

- for (i = 0; i < NR_CPUS; ++i) {
+ for_each_online_cpu(i) {
struct oprofile_cpu_buffer * b = &cpu_buffer[i];

- if (!cpu_online(i))
- continue;
-
add_timer_on(&b->timer, i);
}
}
@@ -111,11 +102,8 @@

timers_enabled = 0;

- for (i = 0; i < NR_CPUS; ++i) {
+ for_each_online_cpu(i) {
struct oprofile_cpu_buffer * b = &cpu_buffer[i];
-
- if (!cpu_online(i))
- continue;

del_timer_sync(&b->timer);
}
===== oprofile_stats.c 1.8 vs edited =====
--- 1.8/drivers/oprofile/oprofile_stats.c Fri Aug 27 16:42:56 2004
+++ edited/oprofile_stats.c Sun Sep 5 02:15:49 2004
@@ -22,10 +22,7 @@
struct oprofile_cpu_buffer * cpu_buf;
int i;

- for (i = 0; i < NR_CPUS; ++i) {
- if (!cpu_possible(i))
- continue;
-
+ for_each_cpu(i) {
cpu_buf = &cpu_buffer[i];
cpu_buf->sample_received = 0;
cpu_buf->sample_lost_overflow = 0;
@@ -49,10 +46,7 @@
if (!dir)
return;

- for (i = 0; i < NR_CPUS; ++i) {
- if (!cpu_possible(i))
- continue;
-
+ for_each_cpu(i) {
cpu_buf = &cpu_buffer[i];
snprintf(buf, 10, "cpu%d", i);
cpudir = oprofilefs_mkdir(sb, dir, buf);