Re: [PATCH] mm: implement WasActive page flag (for improving cleancache)

From: Rik van Riel
Date: Thu Jan 26 2012 - 22:28:39 EST


On 01/26/2012 07:56 PM, Dan Magenheimer wrote:

The patch resolves issues reported with cleancache which occur
especially during streaming workloads on older processors,
see https://lkml.org/lkml/2011/8/17/351

I can see that may not be sufficient, so let me expand on it.

First, just as page replacement worked prior to the active/inactive
redesign at 2.6.27, cleancache works without the WasActive page flag.
However, just as pre-2.6.27 page replacement had problems on
streaming workloads, so does cleancache. The WasActive page flag
is an attempt to pass the same active/inactive info gathered by
the post-2.6.27 kernel into cleancache, with the same objectives and
presumably the same result: improving the "quality" of pages preserved
in memory thus reducing refaults.

Is that clearer? If so, I'll do better on the description at v2.

Whether or not this patch improves things would depend
entirely on the workload, no?

I can imagine a workload where we have a small virtual
machine and a large cleancache buffer in the host.

Due to the small size of the virtual machine, pages
might not stay on the inactive list long enough to get
accessed twice in a row.

When the page gets rescued from the cleancache, we
know it was recently evicted and we can immediately
put it onto the active file list.

This is almost the opposite problem (and solution) of
what you ran into.

Both seem equally likely (and probable)...

--
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/