Re: Balloon driver?

Arnd Bergmann
2007-06-06T22:06:56Z

On Wednesday 06 June 2007, Jun Koi wrote:
> About the balloon driver, I looked at the current code, and what I
> dont like is its approach: it needs to be operated from inside the
> guest, which is not the way we usually want to do. So something like
> Xen balloon driver is certainly better.

There are multiple fundamentally different approaches. Three of
these have been used on s390 with success, and they are not
mutually exclusive:

1. Balloning: The guest voluntarily gives up pages using an
hcall if it has free pages or is told to do so by the
hypervisor.

2. pfault: The host takes away pages from the guest based on
LRU. When the guest accesses a page that has been paged out
by the host, it gets an exception and has the chance to switch
the guest task. Another exception is delivered when the page
is there, and the task gets marked runnable again.

3. "cmm2": The guest annotages every page as 'unused', 'stable',
'volatile' or 'potentially volatile', and the host memory
management code can take these into consideration. See
https://ols2006.108.redhat.com/reprints/schwidefsky-reprint.pdf
for details.