On 02.04.19 21:49, Michael S. Tsirkin wrote: > On Tue, Apr 02, 2019 at 08:21:30PM +0200, David Hildenbrand wrote: >> The other extreme is a system that barely frees (MAX_ORDER - X) pages, >> however your thread will waste cycles scanning for such. > > I don't think we need to scan as such. An arch hook > that queues a job to a wq only when there's work to > do will fix the issue, right? > Well, even a system that is basically idle can theoretically free a handful of pages every now and then you would like to report. There would have to be a mechanism to detect if pages worth hinting have been freed and need processing, IOW something like a callback after buddy merging we are already dealing with. That can then be a simple flag which the hinting thread considers (e.g. wake up every X seconds to check if there is work) or kicking the hinting thread like you suggest. -- Thanks, David / dhildenb