Messages in this thread | | | Date | Wed, 23 Nov 2011 09:52:47 +0200 | Subject | Re: [PATCH v4 4/5] slub: Only IPI CPUs that have per cpu obj to flush | From | Gilad Ben-Yossef <> |
| |
On Wed, Nov 23, 2011 at 8:57 AM, Pekka Enberg <penberg@kernel.org> wrote: > On Wed, Nov 23, 2011 at 8:23 AM, Pekka Enberg <penberg@kernel.org> wrote: >> 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? >>
Right, the allocation failure here is harmless. I should probably do the same for the page_alloc.c case as well.
>>> + 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.
Thanks!
There's a git tree of these over at: git://github.com/gby/linux.git branch ipi_noise_v4 in case that helps.
I will send v5 (and create a new git branch for it) with the above changes and the Arm patch description update once I get an Ack from Russel K.
Cheers, Gilad
>
-- Gilad Ben-Yossef Chief Coffee Drinker gilad@benyossef.com Israel Cell: +972-52-8260388 US Cell: +1-973-8260388 http://benyossef.com
"Unfortunately, cache misses are an equal opportunity pain provider." -- Mike Galbraith, LKML -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |