mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
[PATCH] for_each_possible_cpu: xfs
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 <kamezawa.hiroyu@jp.fujitsu.com> Acked-by: Nathan Scott <nathans@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
d6938d1b27
commit
6f0419e06a
@ -62,7 +62,7 @@ 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++;
|
||||
@ -70,7 +70,7 @@ xfs_read_xfsstats(
|
||||
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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user