]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - fs/dcache.c
Merge tag 'nfsd-4.13' of git://linux-nfs.org/~bfields/linux
[mirror_ubuntu-bionic-kernel.git] / fs / dcache.c
index 7ece68d0d4dbd731295ee8eec1ab0e4d4d504065..6c30be668487ca53725efc2229ac64dce68b9abc 100644 (file)
@@ -1160,11 +1160,12 @@ void shrink_dcache_sb(struct super_block *sb)
                LIST_HEAD(dispose);
 
                freed = list_lru_walk(&sb->s_dentry_lru,
-                       dentry_lru_isolate_shrink, &dispose, UINT_MAX);
+                       dentry_lru_isolate_shrink, &dispose, 1024);
 
                this_cpu_sub(nr_dentry_unused, freed);
                shrink_dentry_list(&dispose);
-       } while (freed > 0);
+               cond_resched();
+       } while (list_lru_count(&sb->s_dentry_lru) > 0);
 }
 EXPORT_SYMBOL(shrink_dcache_sb);