On Wed, Oct 15, 2014 at 07:47:42PM +0400, Denis V. Lunev wrote:
> Excessive virtio_balloon inflation can cause invocation of OOM-killer, when
> Linux is under severe memory pressure. Various mechanisms are responsible for
> correct virtio_balloon memory management. Nevertheless it is often the case
> that these control tools does not have enough time to react on fast changing
> memory load. As a result OS runs out of memory and invokes OOM-killer.
> The balancing of memory by use of the virtio balloon should not cause the
> termination of processes while there are pages in the balloon. Now there is
> no way for virtio balloon driver to free memory at the last moment before
> some process get killed by OOM-killer.
> 
> This does not provide a security breach as baloon itself is running
> inside guest OS and is working in the cooperation with the host. Thus
> some improvements from guest side should be considered as normal.
> 
> To solve the problem, introduce a virtio_balloon callback which is expected
> to be called from the oom notifier call chain in out_of_memory() function.
> If virtio balloon could release some memory, it will make the system to
> return and retry the allocation that forced the out of memory killer to run.
> 
> Patch 1 of this series adds support for implementation of virtio_balloon
> callback, so now leak_balloon() function returns number of freed pages.
> Patch 2 implements virtio_balloon callback itself.
> 
> Changes from v2:
> - added feature bit to control OOM baloon behavior from host
> Changes from v1:
> - minor cosmetic tweaks suggested by rusty@
> 
> Signed-off-by: Raushaniya Maksudova <rmaksud...@parallels.com>
> Signed-off-by: Denis V. Lunev <d...@openvz.org>
> CC: Rusty Russell <ru...@rustcorp.com.au>
> CC: Michael S. Tsirkin <m...@redhat.com>

With the feature bit, I think it's fine.

Acked-by: Michael S. Tsirkin <m...@redhat.com>

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

Reply via email to