[PATCH] add cond_resched() to shrink_dcache_for_umount_subtree()

From: NeilBrown
Date: Tue Nov 12 2013 - 01:20:36 EST



Much like the other shrink_dcache_*() functions,
shrink_dcache_for_umount_subtree() could run for a long time if the dcache
has many entries, so an occasional "cond_resched" is needed to avoid stalls
and soft-lockup warnings.

Unlike the other shrinkers, there is no cond_resched call here. So add one.

Signed-off-by: NeilBrown <neilb@xxxxxxx>

diff --git a/fs/dcache.c b/fs/dcache.c
index ae6ebb88ceff..1811fa19b419 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1154,6 +1154,7 @@ static void shrink_dcache_for_umount_subtree(struct dentry *dentry)

dentry = list_entry(dentry->d_subdirs.next,
struct dentry, d_u.d_child);
+ cond_resched()
}
}

Attachment: signature.asc
Description: PGP signature