From: Artem Bityutskiy Date: Tue, 19 Dec 2006 13:45:23 +0000 (+0200) Subject: [JFFS2] add cond_resched() when garbage collecting deletion dirent X-Git-Tag: v2.6.20-rc6~47^2~6 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aba54da3d05e910199ea8255992c244c9abadd91;p=linux-2.6 [JFFS2] add cond_resched() when garbage collecting deletion dirent We observe soft lockups when doing heavy test which creates directory with a lot of direntries and deletes them. This cycle is the reason fo this. Make it nicer and add cond_resched() inside of it. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse --- diff --git a/fs/jffs2/gc.c b/fs/jffs2/gc.c index daff3341ff..3a3cf22598 100644 --- a/fs/jffs2/gc.c +++ b/fs/jffs2/gc.c @@ -838,6 +838,8 @@ static int jffs2_garbage_collect_deletion_dirent(struct jffs2_sb_info *c, struct for (raw = f->inocache->nodes; raw != (void *)f->inocache; raw = raw->next_in_ino) { + cond_resched(); + /* We only care about obsolete ones */ if (!(ref_obsolete(raw))) continue;