There are a number of cases where pages get cleaned but two of concernto this patch are; o When dirtying pages, processes may be throttled to clean pages if dirty_ratio is not met. o Pages belonging to inodes dirtied longer than dirty_writeback_centisecs get cleaned.

The problem for reclaim is that dirty pages can reach the end of the LRU ifpages are being dirtied slowly so that neither the throttling or a flusherthread waking periodically cleans them.

Background flush is already cleaning old or expired inodes first but theexpire time is too far in the future at the time of page reclaim. To mitigatefuture problems, this patch wakes flusher threads to clean 4M of data -an amount that should be manageable without causing congestion in many cases.

Ideally, the background flushers would only be cleaning pages belongingto the zone being scanned but it's not clear if this would be of benefit(less IO) or not (potentially less efficient IO if an inode is scatteredacross multiple zones).