Re: [PATCH 8/8] vmscan: Kick flusher threads to clean pages when reclaim is encountering dirty pages

Johannes Weiner
2010-07-19T22:27:05Z

On Mon, Jul 19, 2010 at 02:11:30PM +0100, Mel Gorman wrote:
> @@ -933,13 +934,16 @@ keep_dirty:
> VM_BUG_ON(PageLRU(page) || PageUnevictable(page));
> }
>
> + /*
> + * If reclaim is encountering dirty pages, it may be because
> + * dirty pages are reaching the end of the LRU even though
> + * the dirty_ratio may be satisified. In this case, wake
> + * flusher threads to pro-actively clean some pages
> + */
> + wakeup_flusher_threads(laptop_mode ? 0 : nr_dirty + nr_dirty / 2);

An argument of 0 means 'every dirty page in the system', I assume this
is not what you wanted, right? Something like this?

if (nr_dirty && !laptop_mode)
wakeup_flusher_threads(nr_dirty + nr_dirty / 2);