[PATCH] mm/slob.c: for_each_possible_cpu(), not NR_CPUS
Convert for-loops that explicitly reference "NR_CPUS" into the potentially more efficient for_each_possible_cpu() construct. Signed-off-by: John Hawkes <hawkes@sgi.com> Cc: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
4a3b98a422
commit
75129e297e
1 changed files with 3 additions and 7 deletions
10
mm/slob.c
10
mm/slob.c
|
@ -354,9 +354,7 @@ void *__alloc_percpu(size_t size)
|
|||
if (!pdata)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < NR_CPUS; i++) {
|
||||
if (!cpu_possible(i))
|
||||
continue;
|
||||
for_each_possible_cpu(i) {
|
||||
pdata->ptrs[i] = kmalloc(size, GFP_KERNEL);
|
||||
if (!pdata->ptrs[i])
|
||||
goto unwind_oom;
|
||||
|
@ -383,11 +381,9 @@ free_percpu(const void *objp)
|
|||
int i;
|
||||
struct percpu_data *p = (struct percpu_data *) (~(unsigned long) objp);
|
||||
|
||||
for (i = 0; i < NR_CPUS; i++) {
|
||||
if (!cpu_possible(i))
|
||||
continue;
|
||||
for_each_possible_cpu(i)
|
||||
kfree(p->ptrs[i]);
|
||||
}
|
||||
|
||||
kfree(p);
|
||||
}
|
||||
EXPORT_SYMBOL(free_percpu);
|
||||
|
|
Loading…
Reference in a new issue