Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75129e29 authored by John Hawkes's avatar John Hawkes Committed by Linus Torvalds
Browse files

[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: default avatarJohn Hawkes <hawkes@sgi.com>
Cc: Matt Mackall <mpm@selenic.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 4a3b98a4
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -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);