OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [RFC PATCH 0/1] virtio-balloon: Add Working Set Reporting feature


This is a proposed spec expansion for a Working Set Reporting feature
in the balloon with driver patch here:

https://lore.kernel.org/linux-mm/20230509185419.1088297-1-yuanchu@google.com/

with device implementation here:

https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg02503.html

It describes the requirements for a VIRTIO_F_WS_REPORTING feature bit
on the balloon device.

Motivation
==========
When we have a system with overcommitted memory and 1 or more VMs, we
seek to get both timely and accurate information on overall memory
utilization in order to drive appropriate reclaim activities. For
example, in some client device use cases a VM might need a significant
fraction of the overall memory for a period of time, but then enter a
quiet period that results in a large number of cold pages in the guest.

The balloon device has a number of features to assist in sharing memory
resources amongst the guests and host (e.g free page hinting, stats, free page
reporting). As mentioned in slide 12 in [1], the balloon doesn't have a good
mechanism to drive the reclaim of guest cache. Our use case includes both
typical page cache as well as "application caches" with memory that should be
discarded in times of system-wide memory pressure.

Working Set Reporting
=====================

Working Set reporting in the balloon provides:

 - an accurate picture of current memory utilization in the guest
 - event driven reporting (with configurable rate limiting) to deliver reports
   during times of memory pressure.

The reporting mechanism can be combined with a domain-specific balloon policy
to drive the separate reclaim activities in a coordinated fashion.

TODOs:
======

 - There are some small differences between this spec and the
   implementation in the data exchange protocol in the device. We wanted to
   get feedback on this diff at an early stage though, rather than get every
   piece nailed down with precision.

References:

[1] https://kvmforum2020.sched.com/event/eE4U/virtio-balloonpmemmem-managing-guest-memory-david-hildenbrand-michael-s-tsirkin-red-hat

T.J. Alumbaugh (1):
  virtio-balloon: Add Working Set Reporting feature

 device-types/balloon/description.tex | 228 ++++++++++++++++++++++++++-
 1 file changed, 227 insertions(+), 1 deletion(-)

-- 
2.40.1.606.ga4b1b128d6-goog


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]