Re: [PATCH RFC 3/3] slub: reparent memcg caches' slabs on memcg offline
From: Christoph Lameter <hidden>
Date: 2014-05-21 14:41:09
Also in:
lkml
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, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>