[PATCH v2 0/2] Configurable order free page reporting in hyper-v

From: Shradha Gupta
Date: Fri Sep 30 2022 - 02:01:58 EST


In some scenarios Hyper-V needs to manage memory more tightly, so it needs as
much information as possible about unused guest pages. To that end Hyper-V
now allows free page reporting in chunks smaller than 2 Mbytes. Because of
the performance tradeoffs, we want to make the chunk size configurable. Since
there's already a free page reporting module parameter, let's use that rather
than creating yet another parameter.

Configurable order free page reporting is enabled in page_reporting
driver in mm tree. However, changes need to be made in drivers like
hyper-v's hv_balloon to make it aware of the page order.
These patches add support for the same.
In the page_reporting driver(patch 1) we export the page_reporting_order
module parameter. Besides this, in the page_reporting module a check is
added to ensure that whenever the page_reporting_order value is changed, it
is within the prescribed limits.

The hv_balloon side changes(patch 2) include consuming the exported
page_reporting_order. Making changes in reporting these variable order
free pages as cold discard hints to hyper-v and dropping and refining
checks that restrict the order to a minimum of 9(default).

---
Changes in v2
* Add more details in the cover letter about the motivation
* Fix the threading between dependent patches

Shradha Gupta (2):
mm/page_reporting: Add checks for page_reporting_order param
hv_balloon: Add support for configurable order free page reporting

drivers/hv/hv_balloon.c | 94 ++++++++++++++++++++++++++++++++---------
mm/page_reporting.c | 50 +++++++++++++++++++---
2 files changed, 118 insertions(+), 26 deletions(-)

--
2.37.2