linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: "T.J. Alumbaugh" <talumbau@google.com>,
	lsf-pc@lists.linux-foundation.org
Cc: "Sudarshan Rajagopalan (QUIC)" <quic_sudaraja@quicinc.com>,
	hch@lst.de, kai.huang@intel.com, jon@nutanix.com,
	Yuanchu Xie <yuanchu@google.com>, linux-mm <linux-mm@kvack.org>
Subject: Re: [LSF/MM/BPF TOPIC] VM Memory Overcommit
Date: Tue, 28 Feb 2023 10:20:57 +0100	[thread overview]
Message-ID: <d1c562e2-58a5-14b0-9db9-de1c492fe921@redhat.com> (raw)
In-Reply-To: <CABmGT5H6t_agW=yY1U78tsV+chLoRf2=mcSc8GCYUD25PbxahQ@mail.gmail.com>

On 23.02.23 00:59, T.J. Alumbaugh wrote:
> Hi,
> 
> This topic proposal would be to present and discuss multiple MM
> features to improve host memory overcommit while running VMs. There
> are two general cases:
> 
> 1. The host and its guests operate independently,
> 
> 2. The host and its guests cooperate by techniques like ballooning.
> 
> In the first case, we would discuss some new techniques, e.g., fast
> access bit harvesting in the KVM MMU, and some difficulties, e.g.,
> double zswapping.
> 
> In the second case, we would like to discuss a novel working set size
> (WSS) notifier framework and some improvements to the ballooning
> policy. The WSS notifier, when available, can report WSS to its
> listeners. VM Memory Overcommit is one of its use cases: the
> virtio-balloon driver can register for WSS notifications and relay WSS
> to the host. The host can leverage the WSS notifications and improve
> the ballooning policy.
> 
> This topic would be of interest to a wide range of audience, e.g.,
> phones, laptops and servers.
> Co-presented with Yuanchu Xie.

In general, having the WSS available to the hypervisor might be 
beneficial. I recall, that there was an idea to leverage MGLRU and to 
communicate MGLRU statistics to the hypervisor, such that the hypervisor 
can make decisions using these statistics.

But note that I don't think that the future will be traditional memory 
balloon inflation/deflation. I think it might be useful in related 
context, though.

What we actually might want is a way to tell the OS ruining inside the 
VM to "please try not using more than XXX MiB of physical memory" but 
treat it as a soft limit. So in case we mess up, or there is a sudden 
peak in memory consumption due to a workload, we won't harm the guest 
OS/workload, and don't have to act immediately to avoid trouble. One can 
think of it like an evolution of memory ballooning: instead of creating 
artificial memory pressure by inflating the balloon that is fairly event 
driven and requires explicit memory deflation, we teach the OS to do it 
natively and pair it with free page reporting.

All free physical memory inside the VM can be reported using free page 
reporting to the hypervisor, and the OS will try sticking to the 
requested "logical" VM size, unless there is real demand for more memory.

-- 
Thanks,

David / dhildenb



  parent reply	other threads:[~2023-02-28  9:21 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-22 23:59 T.J. Alumbaugh
2023-02-28  6:02 ` Gupta, Pankaj
2023-03-01  3:09   ` T.J. Alumbaugh
2023-02-28  9:20 ` David Hildenbrand [this message]
2023-02-28 22:38   ` SeongJae Park
2023-02-28 22:52     ` David Hildenbrand
2023-03-02  3:26       ` David Rientjes
2023-03-02  9:32         ` David Hildenbrand
2023-03-01  3:21   ` T.J. Alumbaugh
2023-05-19 21:39 ` T.J. Alumbaugh

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=d1c562e2-58a5-14b0-9db9-de1c492fe921@redhat.com \
    --to=david@redhat.com \
    --cc=hch@lst.de \
    --cc=jon@nutanix.com \
    --cc=kai.huang@intel.com \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=quic_sudaraja@quicinc.com \
    --cc=talumbau@google.com \
    --cc=yuanchu@google.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox