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 <rmaksudova@xxxxxxxxxxxxx> > Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx> > CC: Rusty Russell <rusty@xxxxxxxxxxxxxxx> > CC: Michael S. Tsirkin <mst@xxxxxxxxxx> With the feature bit, I think it's fine. Acked-by: Michael S. Tsirkin <mst@xxxxxxxxxx> _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization