invalidate_mapping_pages(): add cond_resched
authorAndrew Morton <akpm@linux-foundation.org>
Mon, 16 Jul 2007 06:38:14 +0000 (23:38 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 16 Jul 2007 16:05:36 +0000 (09:05 -0700)
commitfc9a07e7bf1a76e710f5df017abb07628db1781d
treebf2a288f97cbf9cfd82a4306a7d9c615abc7c887
parent45426812d6b601430d560cb6049757b5b0bc71c4
invalidate_mapping_pages(): add cond_resched

invalidate_mapping_pages() can sometimes take a long time (millions of pages
to free).  Long enough for the softlockup detector to trigger.

We used to have a cond_resched() in there but I took it out because the
drop_caches code calls invalidate_mapping_pages() under inode_lock.

The patch adds a nasty flag and puts the cond_resched() back.

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/drop_caches.c
include/linux/fs.h
mm/truncate.c