Index: linux-2.6.8-rc1/mm/truncate.c =================================================================== --- linux-2.6.8-rc1.orig/mm/truncate.c 2004-07-15 02:41:41.000000000 +1000 +++ linux-2.6.8-rc1/mm/truncate.c 2004-07-15 10:03:41.610805718 +1000 @@ -155,6 +155,7 @@ next = start; for ( ; ; ) { + cond_resched(); if (!pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) { if (next == start) break;