Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline

From: Christoph Lameter
Date: Wed May 21 2014 - 10:41:13 EST


On Mon, 19 May 2014, Vladimir Davydov wrote:

> 3) Per cpu partial slabs. We can disable this feature for dead caches by
> adding appropriate check to kmem_cache_has_cpu_partial.

There is already a s->cpu_partial number in kmem_cache. If that is zero
then no partial cpu slabs should be kept.

> So far, everything looks very simple - it seems we don't have to modify
> __slab_free at all if we follow the instruction above.
>
> However, there is one thing regarding preemptable kernels. The problem
> is after forbidding the cache store free slabs in per-cpu/node partial
> lists by setting min_partial=0 and kmem_cache_has_cpu_partial=false
> (i.e. marking the cache as dead), we have to make sure that all frees
> that saw the cache as alive are over, otherwise they can occasionally
> add a free slab to a per-cpu/node partial list *after* the cache was
> marked dead. For instance,

Ok then lets switch off preeempt there? Preemption is not supported by
most distribution and so will have the least impact.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/