summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-07-11 09:17:33 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-07-11 09:17:33 -0700
commit9baa4699bd1f941e1e9971fd8fda129019d80eb1 (patch)
tree8e26ff1d1874ea91fb7226ae8b74478adb4e6486 /fs
parent940ac391bb8db9fe191a36b9841158c15018c1b4 (diff)
parentc6b2e7c51ebd76c3a29cf13113f5f14dcf34e7af (diff)
Merge "fs/dcache.c: fix spin lockup issue on nlru->lock"
Diffstat (limited to 'fs')
-rw-r--r--fs/dcache.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 3a3b0f370304..4c07a84d1317 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1128,11 +1128,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);