All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: linux-kernel@vger.kernel.org,
	Raushaniya Maksudova <rmaksudova@parallels.com>,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH v3 0/2] shrink virtio baloon on OOM in guest
Date: Mon, 20 Oct 2014 09:55:41 +0300	[thread overview]
Message-ID: <20141020065541.GA16212@redhat.com> (raw)
In-Reply-To: <1413388064-5354-1-git-send-email-den@openvz.org>

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@parallels.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Rusty Russell <rusty@rustcorp.com.au>
> CC: Michael S. Tsirkin <mst@redhat.com>

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

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

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org,
	Raushaniya Maksudova <rmaksudova@parallels.com>,
	Rusty Russell <rusty@rustcorp.com.au>
Subject: Re: [PATCH v3 0/2] shrink virtio baloon on OOM in guest
Date: Mon, 20 Oct 2014 09:55:41 +0300	[thread overview]
Message-ID: <20141020065541.GA16212@redhat.com> (raw)
In-Reply-To: <1413388064-5354-1-git-send-email-den@openvz.org>

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@parallels.com>
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> CC: Rusty Russell <rusty@rustcorp.com.au>
> CC: Michael S. Tsirkin <mst@redhat.com>

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

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


  parent reply	other threads:[~2014-10-20  6:55 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-15 15:47 [PATCH v3 0/2] shrink virtio baloon on OOM in guest Denis V. Lunev
2014-10-15 15:47 ` Denis V. Lunev
2014-10-15 15:47 ` [PATCH 1/2] virtio_balloon: return the amount of freed memory from leak_balloon() Denis V. Lunev
2014-10-15 15:47   ` Denis V. Lunev
2014-10-15 15:47 ` [PATCH 2/2] virtio_balloon: free some memory from balloon on OOM Denis V. Lunev
2014-10-15 15:47   ` Denis V. Lunev
2014-10-19 23:31   ` Rusty Russell
2014-10-19 23:31     ` Rusty Russell
2014-10-20  6:55 ` Michael S. Tsirkin [this message]
2014-10-20  6:55   ` [PATCH v3 0/2] shrink virtio baloon on OOM in guest Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141020065541.GA16212@redhat.com \
    --to=mst@redhat.com \
    --cc=den@openvz.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmaksudova@parallels.com \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.