Today, page reporting sets page_reporting_order in two ways: (1) page_reporting.page_reporting_order cmdline parameter (2) Driver can pass order while registering itself.
In both cases, order zero is ignored by free page reporting because it is used to set page_reporting_order to a default value, like MAX_PAGE_ORDER. In some cases we might want page_reporting_order to be zero. For instance, when virtio-balloon runs inside a guest with tiny memory (say, 16MB), it might not be able to find a order 1 page (or in the worst case order MAX_PAGE_ORDER page) after some uptime. Page reporting should be able to return order zero pages back for optimal memory relinquishment. This patch changes the default fallback value from '0' to '-1' in all possible clients of free page reporting (hv_balloon and virtio-balloon) together with allowing '0' as a valid order in page_reporting_register(). Yuvraj Sakshith (3): mm/page_reporting: Allow zero page_reporting_order hv_balloon: Change default page reporting order virtio_balloon: Set pr_dev.order to new default drivers/hv/hv_balloon.c | 2 +- drivers/virtio/virtio_balloon.c | 14 ++++++++++++++ mm/page_reporting.c | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) -- 2.34.1

