diff -urN oldtree/mm/page-writeback.c newtree/mm/page-writeback.c --- oldtree/mm/page-writeback.c 2006-09-24 17:03:56.000000000 -0400 +++ newtree/mm/page-writeback.c 2006-09-26 15:29:56.000000000 -0400 @@ -112,9 +112,6 @@ * * We only allow 1/2 of the currently-unmapped memory to be dirtied. * - * We don't permit the clamping level to fall below 5% - that is getting rather - * excessive. - * * We make sure that the background writeout level is below the adjusted * clamping level. */ @@ -148,15 +145,16 @@ if (dirty_ratio > unmapped_ratio / 2) dirty_ratio = unmapped_ratio / 2; - if (dirty_ratio < 5) - dirty_ratio = 5; - background_ratio = dirty_background_ratio; if (background_ratio >= dirty_ratio) background_ratio = dirty_ratio / 2; background = (background_ratio * available_memory) / 100; dirty = (dirty_ratio * available_memory) / 100; + if (dirty < MAX_WRITEBACK_PAGES) { + dirty = MAX_WRITEBACK_PAGES; + background = 0; + } tsk = current; if (tsk->flags & PF_LESS_THROTTLE || rt_task(tsk)) { background += background / 4;