Extended statistics from balloon for proper memory management
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Trusty |
Fix Released
|
High
|
Unassigned | ||
Vivid |
Won't Fix
|
High
|
Unassigned | ||
Wily |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Yakkety |
Fix Released
|
High
|
Unassigned | ||
linux-lts-utopic (Ubuntu) |
Fix Released
|
High
|
Unassigned |
Bug Description
There is QEMU/KVM and a Linux OS running inside the guest.
Inside the Linux guest a balloon consumes memory in accordance with
commands performed on the host side in QEMU and reports some statistics through memstat structure.
For the Linux guest reported “free” value doesn’t describe the guest memory pressure at all.
The provided patch set in Linux kernel extends the stat with available field.
The problem is addressed in mainstream Linux with the following patchset:
commit
5057dcd0f1aaad5
Author: Igor Redko <email address hidden>
Date: Thu Mar 17 15:09:34 2016 -0700
virtio_balloon: export 'available' memory to balloon statistics
Add a new field, VIRTIO_
statistics protocol, corresponding to 'Available' in /proc/meminfo.
It indicates to the hypervisor how big the balloon can be inflated
without pushing the guest system to swap.
Signed-off-by: Igor Redko <email address hidden>
Signed-off-by: Denis V. Lunev <email address hidden>
Reviewed-by: Roman Kagan <email address hidden>
Cc: Michael S. Tsirkin <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
commit d02bd27bd33dd7e
Author: Igor Redko <email address hidden>
Date: Thu Mar 17 15:09:34 2016 -0700
mm/page_alloc.c: calculate 'available' memory in a separate function
Add a new field, VIRTIO_
statistics protocol, corresponding to 'Available' in /proc/meminfo.
It indicates to the hypervisor how big the balloon can be inflated
without pushing the guest system to swap. This metric would be very
useful in VM orchestration software to improve memory management of
different VMs under overcommit.
This patch (of 2):
Factor out calculation of the available memory counter into a separate
exportable function, in order to be able to use it in other parts of the
kernel.
In particular, it appears a relevant metric to report to the hypervisor
via virtio-balloon statistics interface (in a followup patch).
Signed-off-by: Igor Redko <email address hidden>
Signed-off-by: Denis V. Lunev <email address hidden>
Reviewed-by: Roman Kagan <email address hidden>
Cc: Michael S. Tsirkin <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Changed in linux (Ubuntu Yakkety): | |
status: | Incomplete → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | New → In Progress |
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Yakkety): | |
importance: | Undecided → High |
tags: | added: kernel-da-key |
Changed in linux (Ubuntu Yakkety): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Xenial): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Trusty): | |
status: | New → In Progress |
Changed in linux (Ubuntu Vivid): | |
status: | New → In Progress |
Changed in linux (Ubuntu Wily): | |
status: | New → In Progress |
Changed in linux (Ubuntu Trusty): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Vivid): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Wily): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Vivid): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Wily): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
no longer affects: | linux-lts-utopic (Ubuntu Trusty) |
no longer affects: | linux-lts-utopic (Ubuntu Vivid) |
no longer affects: | linux-lts-utopic (Ubuntu Wily) |
no longer affects: | linux-lts-utopic (Ubuntu Xenial) |
no longer affects: | linux-lts-utopic (Ubuntu Yakkety) |
Changed in linux-lts-utopic (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → High |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
tags: |
added: verification-done-xenial removed: verification-needed-xenial |
Changed in linux-lts-utopic (Ubuntu): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu Wily): | |
status: | In Progress → Fix Released |
Changed in linux (Ubuntu Trusty): | |
status: | In Progress → Fix Released |
tags: | added: cscc |
This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:
apport-collect 1587091
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.