The patch titled mm/slob.c: for_each_possible_cpu(), not NR_CPUS has been removed from the -mm tree. Its filename is mm-slobc-for_each_possible_cpu-not-nr_cpus.patch This patch was probably dropped from -mm because it has now been merged into a subsystem tree or into Linus's tree, or because it was folded into its parent patch in the -mm tree. From: John Hawkes <hawkes@xxxxxxx> Convert for-loops that explicitly reference "NR_CPUS" into the potentially more efficient for_each_possible_cpu() construct. Signed-off-by: John Hawkes <hawkes@xxxxxxx> Cc: Matt Mackall <mpm@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- mm/slob.c | 10 +++------- 1 files changed, 3 insertions(+), 7 deletions(-) diff -puN mm/slob.c~mm-slobc-for_each_possible_cpu-not-nr_cpus mm/slob.c --- devel/mm/slob.c~mm-slobc-for_each_possible_cpu-not-nr_cpus 2006-04-18 22:19:58.000000000 -0700 +++ devel-akpm/mm/slob.c 2006-04-18 22:19:58.000000000 -0700 @@ -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); _ Patches currently in -mm which might be from hawkes@xxxxxxx are origin.patch sched-implement-smpnice.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html