Skip to content

Commit

Permalink
[PATCH] for_each_possible_cpu: xfs
Browse files Browse the repository at this point in the history
for_each_cpu() actually iterates across all possible CPUs.  We've had mistakes
in the past where people were using for_each_cpu() where they should have been
iterating across only online or present CPUs.  This is inefficient and
possibly buggy.

We're renaming for_each_cpu() to for_each_possible_cpu() to avoid this in the
future.

This patch replaces for_each_cpu with for_each_possible_cpu.
in xfs.

Signed-off-by: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: Nathan Scott <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
hkamezawa authored and Linus Torvalds committed Jun 23, 2006
1 parent d6938d1 commit 6f0419e
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
4 changes: 2 additions & 2 deletions fs/xfs/linux-2.6/xfs_stats.c
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ xfs_read_xfsstats(
while (j < xstats[i].endpoint) {
val = 0;
/* sum over all cpus */
for_each_cpu(c)
for_each_possible_cpu(c)
val += *(((__u32*)&per_cpu(xfsstats, c) + j));
len += sprintf(buffer + len, " %u", val);
j++;
}
buffer[len++] = '\n';
}
/* extra precision counters */
for_each_cpu(i) {
for_each_possible_cpu(i) {
xs_xstrat_bytes += per_cpu(xfsstats, i).xs_xstrat_bytes;
xs_write_bytes += per_cpu(xfsstats, i).xs_write_bytes;
xs_read_bytes += per_cpu(xfsstats, i).xs_read_bytes;
Expand Down
2 changes: 1 addition & 1 deletion fs/xfs/linux-2.6/xfs_sysctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ xfs_stats_clear_proc_handler(

if (!ret && write && *valp) {
printk("XFS Clearing xfsstats\n");
for_each_cpu(c) {
for_each_possible_cpu(c) {
preempt_disable();
/* save vn_active, it's a universal truth! */
vn_active = per_cpu(xfsstats, c).vn_active;
Expand Down

0 comments on commit 6f0419e

Please sign in to comment.