On Thu, Jun 24, 2021 at 7:20 PM Gavin Shan <gshan@xxxxxxxxxx> wrote: > > The page reporting threshold is currently equal to @pageblock_order, which > is 13 and 512MB on arm64 with 64KB base page size selected. The page > reporting won't be triggered if the freeing page can't come up with a free > area like that huge. The condition is hard to be met, especially when the > system memory becomes fragmented. > > This series intends to solve the issue by having page reporting threshold > as 5 (2MB) on arm64 with 64KB base page size. The patches are organized as: > > PATCH[1/4] Fix some coding style in __page_reporting_request(). > PATCH[2/4] Represents page reporting order with variable so that it can > be exported as module parameter. > PATCH[3/4] Allows the device driver (e.g. virtio_balloon) to specify > the page reporting order when the device info is registered. > PATCH[4/4] Specifies the page reporting order to 5, corresponding to > 2MB in size on ARM64 when 64KB base page size is used. > > Changelog > ========= > v5: > * Restore @page_reporting_order to @pageblock_order when > device is registered in PATCH[2/4] to keep "git bisect" > friendly at least. (Alex) These latest changes address the concerns I had. Thanks. - Alex