X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=mm%2Fslab.c;h=65b5dcb6f67107d6e46515196cfdf5cfbfd8a70b;hb=c028d4165fe56fc51efb53dd4b04aa157d005dc5;hp=fee275b5b6b73fad237bdf8cfe2831af71480803;hpb=a7e8ddd813c20e3e10c9012f1625a5a02f870b15;p=karo-tx-linux.git diff --git a/mm/slab.c b/mm/slab.c index fee275b5b6b7..65b5dcb6f671 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3015,7 +3015,7 @@ retry: for_each_zone_zonelist(zone, z, zonelist, high_zoneidx) { nid = zone_to_nid(zone); - if (cpuset_zone_allowed(zone, flags | __GFP_HARDWALL) && + if (cpuset_zone_allowed(zone, flags) && get_node(cache, nid) && get_node(cache, nid)->free_objects) { obj = ____cache_alloc_node(cache, @@ -3182,6 +3182,7 @@ slab_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, memset(ptr, 0, cachep->object_size); } + memcg_kmem_put_cache(cachep); return ptr; } @@ -3247,6 +3248,7 @@ slab_alloc(struct kmem_cache *cachep, gfp_t flags, unsigned long caller) memset(objp, 0, cachep->object_size); } + memcg_kmem_put_cache(cachep); return objp; }