Re: [PATCH v6 5/8] slub: only IPI CPUs that have per cpu obj to flush

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jan 11, 2012 at 9:04 AM, Milton Miller <miltonm@xxxxxxx> wrote:

>
> > mm/slub.c | 10 +++++++++-
> > 1 files changed, 9 insertions(+), 1 deletions(-)
> >
> > diff --git a/mm/slub.c b/mm/slub.c
> > index 09ccee8..31833d6 100644
> > --- a/mm/slub.c
> > +++ b/mm/slub.c
> > @@ -2013,9 +2013,17 @@ static void flush_cpu_slab(void *d)
> > __flush_cpu_slab(s, smp_processor_id());
> > }
> >
> > +static int has_cpu_slab(int cpu, void *info)
> > +{
> > + struct kmem_cache *s = info;
> > + struct kmem_cache_cpu *c = per_cpu_ptr(s->cpu_slab, cpu);
> > +
> > + return !!(c->page);
>
> __flush_cpu_slab is careful to test that the the per_cpu_ptr is not
> NULL before referencing the page field.  free_percpu likewise ignores
> NULL pointers.  We need to check !!(c && c->page) here.
>
This is indeed what I did in the first iterations but Christoph indicated that
c could never be NULL in his review of the patch. See :
https://lkml.org/lkml/2011/11/15/207

I integrated all the other review comment of this patch though. Thanks!
Gilad

--
Gilad Ben-Yossef
Chief Coffee Drinker
gilad@xxxxxxxxxxxxx
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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux