lkml.org 
[lkml]   [2011]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v4 4/5] slub: Only IPI CPUs that have per cpu obj to flush
    From
    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?
    >
    >> +               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.

    ...this time with the right email address.
    --
    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/

    \
     
     \ /
      Last update: 2011-11-23 07:59    [W:7.603 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site