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@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>