Re: [PATCH -mm v2 5/8] slub: make slab_free non-preemptable

Vladimir Davydov
2014-06-12T10:03:55Z

Hi,

On Thu, Jun 12, 2014 at 03:58:42PM +0900, Joonsoo Kim wrote:
> On Fri, Jun 06, 2014 at 05:22:42PM +0400, Vladimir Davydov wrote:
> > @@ -2673,18 +2673,11 @@ static __always_inline void slab_free(struct kmem_cache *s,
> >
> > slab_free_hook(s, x);
> >
> > -redo:
> > - /*
> > - * Determine the currently cpus per cpu slab.
> > - * The cpu may change afterward. However that does not matter since
> > - * data is retrieved via this pointer. If we are on the same cpu
> > - * during the cmpxchg then the free will succedd.
> > - */
> > preempt_disable();
>
> Could you add some code comment why this preempt_disable/enable() is
> needed? We don't have any clue that kmemcg depends on these things
> on code, so someone cannot understand why it is here.
>
> If possible, please add similar code comment on slab_alloc in mm/slab.c.

Sure.

Thanks.