mm,vmscan: don't pretend forward progress upon shrinker_rwsem contention
[muen/linux.git] / mm / vmscan.c
index ca566640c44852ab8ce6a1681773ac7bf9b1d2a2..976be140a8ce9bab3deb57f531a81f22f98a6a0f 100644 (file)
@@ -442,16 +442,8 @@ static unsigned long shrink_slab(gfp_t gfp_mask, int nid,
        if (memcg && (!memcg_kmem_enabled() || !mem_cgroup_online(memcg)))
                return 0;
 
-       if (!down_read_trylock(&shrinker_rwsem)) {
-               /*
-                * If we would return 0, our callers would understand that we
-                * have nothing else to shrink and give up trying. By returning
-                * 1 we keep it going and assume we'll be able to shrink next
-                * time.
-                */
-               freed = 1;
+       if (!down_read_trylock(&shrinker_rwsem))
                goto out;
-       }
 
        list_for_each_entry(shrinker, &shrinker_list, list) {
                struct shrink_control sc = {