Re: [RFC/T/D][PATCH 2/2] Linux/Guest cooperative unmapped page cache control

Dave Hansen
2010-06-14T15:55:32Z

On Mon, 2010-06-14 at 18:44 +0300, Avi Kivity wrote:
> On 06/14/2010 06:33 PM, Dave Hansen wrote:
> > At the same time, I see what you're trying to do with this. It really
> > can be an alternative to ballooning if we do it right, since ballooning
> > would probably evict similar pages. Although it would only work in idle
> > guests, what about a knob that the host can turn to just get the guest
> > to start running reclaim?
>
> Isn't the knob in this proposal the balloon? AFAICT, the idea here is
> to change how the guest reacts to being ballooned, but the trigger
> itself would not change.

I think the patch was made on the following assumptions:
1. Guests will keep filling their memory with relatively worthless page
cache that they don't really need.
2. When they do this, it hurts the overall system with no real gain for
anyone.

In the case of a ballooned guest, they _won't_ keep filling memory. The
balloon will prevent them. So, I guess I was just going down the path
of considering if this would be useful without ballooning in place. To
me, it's really hard to justify _with_ ballooning in place.

> My issue is that changing the type of object being preferentially
> reclaimed just changes the type of workload that would prematurely
> suffer from reclaim. In this case, workloads that use a lot of unmapped
> pagecache would suffer.
>
> btw, aren't /proc/sys/vm/swapiness and vfs_cache_pressure similar knobs?

Those tell you how to balance going after the different classes of
things that we can reclaim.

Again, this is useless when ballooning is being used. But, I'm thinking
of a more general mechanism to force the system to both have MemFree
_and_ be acting as if it is under memory pressure.

Balbir, can you elaborate a bit on why you would need these patches on a
guest that is being ballooned?

-- Dave