X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=mm%2Fslob.c;h=a1f42bdc0245c84889080f20be6abb42ac808add;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=a68255ba4553770f7c4050857a11661160ea3942;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/mm/slob.c b/mm/slob.c index a68255ba4..a1f42bdc0 100644 --- a/mm/slob.c +++ b/mm/slob.c @@ -294,16 +294,6 @@ void *kmem_cache_alloc(struct kmem_cache *c, gfp_t flags) } EXPORT_SYMBOL(kmem_cache_alloc); -void *kmem_cache_zalloc(struct kmem_cache *c, gfp_t flags) -{ - void *ret = kmem_cache_alloc(c, flags); - if (ret) - memset(ret, 0, c->size); - - return ret; -} -EXPORT_SYMBOL(kmem_cache_zalloc); - void kmem_cache_free(struct kmem_cache *c, void *b) { if (c->dtor) @@ -354,7 +344,9 @@ void *__alloc_percpu(size_t size) if (!pdata) return NULL; - for_each_possible_cpu(i) { + for (i = 0; i < NR_CPUS; i++) { + if (!cpu_possible(i)) + continue; pdata->ptrs[i] = kmalloc(size, GFP_KERNEL); if (!pdata->ptrs[i]) goto unwind_oom; @@ -381,9 +373,11 @@ free_percpu(const void *objp) int i; struct percpu_data *p = (struct percpu_data *) (~(unsigned long) objp); - for_each_possible_cpu(i) + for (i = 0; i < NR_CPUS; i++) { + if (!cpu_possible(i)) + continue; kfree(p->ptrs[i]); - + } kfree(p); } EXPORT_SYMBOL(free_percpu);