Re: [PATCH 11/12] vmscan: Write out dirty pages in batch

From: Rik van Riel
Date: Tue Jun 15 2010 - 09:33:35 EST


On 06/15/2010 07:01 AM, Christoph Hellwig wrote:
On Mon, Jun 14, 2010 at 09:16:29PM -0400, Rik van Riel wrote:
Besides, there really isn't the right context in the block layer to
be able to queue and prioritise large amounts of IO without
significant penalties to some higher layer operation.

Can we kick flushing for the whole inode at once from
vmscan.c?

kswapd really should be a last effort tool to clean filesystem pages.
If it does enough I/O for this to matter significantly we need to
fix the VM to move more work to the flusher threads instead of trying
to fix kswapd.

Would it be hard to add a "please flush this file"
way to call the filesystem flushing threads?

We already have that API, in Jens' latest tree that's
sync_inodes_sb/writeback_inodes_sb. We could also add a non-waiting
variant if required, but I think the big problem with kswapd is that
we want to wait on I/O completion under circumstances.

However, kswapd does not need to wait on I/O completion of
any page in particular - it just wants to wait on I/O
completion of any inactive pages in the zone (or memcg)
where memory is being freed.

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/