On Mon, 2010-06-14 at 19:34 +0300, Avi Kivity wrote:
I can think of quite a few places where this would be beneficial.Again, this is useless when ballooning is being used. But, I'm thinkingIf there is no memory pressure on the host, there is no reason for the
of a more general mechanism to force the system to both have MemFree
_and_ be acting as if it is under memory pressure.
guest to pretend it is under pressure.
Ballooning is dangerous. I've OOMed quite a few guests by
over-ballooning them. Anything that's voluntary like this is safer than
things imposed by the host, although you do trade of effectiveness.
If all the guests do this, then it leaves that much more free memory on
the host, which can be used flexibly for extra host page cache, new
guests, etc...
A system in this state where everyone is proactively
keeping their footprints down is more likely to be able to handle load
spikes.
Reclaim is an expensive, costly activity, and this ensures that
we don't have to do that when we're busy doing other things like
handling load spikes.
This was one of the concepts behind CMM2: reduce
the overhead during peak periods.
It's also handy for planning. Guests exhibiting this behavior will
_act_ as if they're under pressure. That's a good thing to approximate
how a guest will act when it _is_ under pressure.
If there is memory pressure onI think we're trying to consider things slightly outside of ballooning
the host, it should share the pain among its guests by applying the
balloon. So I don't think voluntarily dropping cache is a good direction.
at this point. If ballooning was the end-all solution, I'm fairly sure
Balbir wouldn't be looking at this stuff. Just trying to keep options
open. :)