mm: memcg/slab: don't check the dying flag on kmem_cache creation
There is no point in checking the root_cache->memcg_params.dying flag on kmem_cache creation path. New allocations shouldn't be performed using a dead root kmem_cache, so no new memcg kmem_cache creation can be scheduled after the flag is set. And if it was scheduled before, flush_memcg_workqueue() will wait for it anyway. So let's drop this check to simplify the code. Link: http://lkml.kernel.org/r/20190611231813.3148843-7-guro@fb.com Signed-off-by: Roman Gushchin <guro@fb.com> Acked-by: Vladimir Davydov <vdavydov.dev@gmail.com> Reviewed-by: Shakeel Butt <shakeelb@google.com> Cc: Christoph Lameter <cl@linux.com> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Waiman Long <longman@redhat.com> Cc: David Rientjes <rientjes@google.com> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> Cc: Pekka Enberg <penberg@kernel.org> Cc: Andrei Vagin <avagin@gmail.com> Cc: Qian Cai <cai@lca.pw> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6cea1d569d
commit
570332978e
|
@ -640,7 +640,7 @@ void memcg_create_kmem_cache(struct mem_cgroup *memcg,
|
|||
* The memory cgroup could have been offlined while the cache
|
||||
* creation work was pending.
|
||||
*/
|
||||
if (memcg->kmem_state != KMEM_ONLINE || root_cache->memcg_params.dying)
|
||||
if (memcg->kmem_state != KMEM_ONLINE)
|
||||
goto out_unlock;
|
||||
|
||||
idx = memcg_cache_id(memcg);
|
||||
|
|
Loading…
Reference in New Issue