Messages in this thread | | | Date | Wed, 23 Nov 2011 08:23:31 +0200 (EET) | From | Pekka Enberg <> | Subject | Re: [PATCH v4 4/5] slub: Only IPI CPUs that have per cpu obj to flush |
| |
On Tue, 22 Nov 2011, Gilad Ben-Yossef wrote: > static void flush_all(struct kmem_cache *s) > { > - on_each_cpu(flush_cpu_slab, s, 1); > + cpumask_var_t cpus; > + struct kmem_cache_cpu *c; > + int cpu; > + > + if (likely(zalloc_cpumask_var(&cpus, GFP_ATOMIC))) {
__GFP_NOWARN too maybe?
> + for_each_online_cpu(cpu) { > + c = per_cpu_ptr(s->cpu_slab, cpu); > + if (c->page) > + cpumask_set_cpu(cpu, cpus); > + } > + on_each_cpu_mask(cpus, flush_cpu_slab, s, 1); > + free_cpumask_var(cpus); > + } else > + on_each_cpu(flush_cpu_slab, s, 1); > }
Acked-by: Pekka Enberg <penberg@kernel.org>
I can't take the patch because it depends on a new API introduced in the first patch.
I'm CC'ing Andrew.
Pekka
| |