diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-07-11 09:17:33 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-07-11 09:17:33 -0700 |
commit | 9baa4699bd1f941e1e9971fd8fda129019d80eb1 (patch) | |
tree | 8e26ff1d1874ea91fb7226ae8b74478adb4e6486 /fs | |
parent | 940ac391bb8db9fe191a36b9841158c15018c1b4 (diff) | |
parent | c6b2e7c51ebd76c3a29cf13113f5f14dcf34e7af (diff) |
Merge "fs/dcache.c: fix spin lockup issue on nlru->lock"
Diffstat (limited to 'fs')
-rw-r--r-- | fs/dcache.c | 5 |
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); |