All of lore.kernel.org
 help / color / mirror / Atom feed
* [LSF/MM TOPIC] Free Page Reporting
@ 2020-01-15 22:54 Alexander Duyck
  0 siblings, 0 replies; only message in thread
From: Alexander Duyck @ 2020-01-15 22:54 UTC (permalink / raw)
  To: lsf-pc, MM Mailing List

Guests running on a KVM hypervisor don't normally have physical memory
assigned to them, instead the host allocates virtual memory for the guest.
As the guest uses memory, physical pages are faulted in to back the
virtual memory, and when under memory pressure the host can swap those
pages out to disk freeing them up for other uses. As a result, a guest may
suffer from performance degradation when the host memory is over-committed 
and under memory pressure since a guest's memory may be swapped to disk
when it next attempts to access it. In addition the memory pressure the
host is experiencing may not be genuine as some guests may no longer be
using the pages currently allocated to them. The current solution to this
is memory ballooning, however that requires manual intervention to trigger
and may result in performance degradation on the guest if it has need of
the memory being pulled into the balloon.

Free page hinting/reporting has been discussed as a solution to these
issues for some time with one of the earliest known mentions being back in
2011 at the KVM Forum[0]. The goal with free page reporting is to enable
memory over-commit while not taxing the resources on the system by
proactively freeing the unused memory from each guest instead of waiting
for the host to swap it out. The advantage is that unused guests can
return their memory resources to the host without the need of intervention
at the host level and avoid the costly overhead for writing or reading
that memory from disk.

I have been working on enabling a guest to notify the host of free or
unused pages, with v16 of the patch set being the most recent version[1].
The code itself has gone though a number of changes over the last year,
and prior to starting this work there has already been a documented
history[2] of others working on similar efforts.

The goals of the discussion would be:

- Identify any remaining gaps to be addressed in the current solution
- Discuss next steps, such as:
    - Applying proactive memory pressure in guests
    - Providing a mechanism to notify guest of need for memory pressure
    - Rebasing page hinting to make use of page reporting

[0]: https://www.linux-kvm.org/images/f/ff/2011-forum-memory-overcommit.pdf
[1]: https://lore.kernel.org/lkml/20200103210509.29237.18426.stgit@localhost.localdomain/
[2]: https://lore.kernel.org/lkml/29f43d5796feed0dec8e8bb98b187d9dac03b900.camel@linux.intel.com/



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-15 22:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-15 22:54 [LSF/MM TOPIC] Free Page Reporting Alexander Duyck

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.