Index: linux-2.6.18-rc1/mm/page-writeback.c =================================================================== --- linux-2.6.18-rc1.orig/mm/page-writeback.c 2006-07-23 00:33:54.247547217 -0700 +++ linux-2.6.18-rc1/mm/page-writeback.c 2006-07-23 00:54:54.495712123 -0700 @@ -239,6 +239,11 @@ static void balance_dirty_pages(struct a if ((laptop_mode && pages_written) || (!laptop_mode && (nr_reclaimable > background_thresh))) pdflush_operation(background_writeout, 0); + + if (global_easily_reclaimable() + global_free() < threshold) { + /* We can either writeout + * kick kswapd + } } /**