← Back to team overview

kernel-packages team mailing list archive

[Bug 1587089] Re: Hide "ballooned" memory from /proc in guest Ubuntu


This bug is awaiting verification that the kernel in -proposed solves
the problem. Please test the kernel and update this bug with the
results. If the problem is solved, change the tag 'verification-needed-
trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will
be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how
to enable and use -proposed. Thank you!

** Tags added: verification-needed-trusty

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  Hide "ballooned" memory from /proc in guest Ubuntu

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Trusty:
  Fix Committed
Status in linux source package in Wily:
  In Progress

Bug description:
  There is QEMU/KVM and a Linux guest running inside the guest. The amount
  of memory available for guest could be adjusted by balloon for better
  host scalability. The problem that this change is visible for end-user
  actually using the guest. This could (potentially) result in lawsuite
  from the end-user to hosting provides. 

  The problem is addressed in mainstream Linux with the following patch

  commit 997e120843e82609c8d99a9d5714e6cf91e14cbe
  Author: Denis V. Lunev <den@xxxxxxxxxx>
  Date:   Thu Aug 20 00:49:49 2015 +0300
  virtio_balloon: do not change memory amount visible via /proc/meminfo
      Balloon device is frequently used as a mean of cooperative memory control
      in between guest and host to manage memory overcommitment. This is the
      typical case for any hosting workload when KVM guest is provided for
      Though there is a problem in this setup. The end-user and hosting provider
      have signed SLA agreement in which some amount of memory is guaranted for
      the guest. The good thing is that this memory will be given to the guest
      when the guest will really need it (f.e. with OOM in guest and with
      VIRTIO_BALLOON_F_DEFLATE_ON_OOM configuration flag set). The bad thing
      is that end-user does not know this.
      Balloon by default reduce the amount of memory exposed to the end-user
      each time when the page is stolen from guest or returned back by using
      adjust_managed_page_count and thus /proc/meminfo shows reduced amount
      of memory.
      Fortunately the solution is simple, we should just avoid to call
      adjust_managed_page_count with VIRTIO_BALLOON_F_DEFLATE_ON_OOM set.
      Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
      CC: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

  commit b4d34037329f46ed818d3b0a6e1e23b9c8721f79
  Author: Denis V. Lunev <den@xxxxxxxxxx>
  Date:   Thu Aug 20 00:49:48 2015 +0300
  virtio_ballon: change stub of release_pages_by_pfn
      and rename it to release_pages_balloon. The function originally takes
      arrays of pfns and now it takes pointer to struct virtio_ballon.
      This change is necessary to conditionally call adjust_managed_page_count
      in the next patch.
      Signed-off-by: Denis V. Lunev <den@xxxxxxxxxx>
      CC: Michael S. Tsirkin <mst@xxxxxxxxxx>
      Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

  The issue affects ubuntu_server_14.0, ubuntu_server_15.04

To manage notifications about this bug go to: