Re: [PATCH v3 0/2] shrink virtio baloon on OOM in guest

2014-10-20 Thread Michael S. Tsirkin
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

___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization


[PATCH v3 0/2] shrink virtio baloon on OOM in guest

2014-10-15 Thread Denis V. Lunev
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

___
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization