Re: [PATCH kernel v8 3/4] mm: add inerface to offer info about unused pages

From: Wei Wang
Date: Thu Apr 13 2017 - 07:06:23 EST


On 03/17/2017 05:28 AM, Andrew Morton wrote:
On Thu, 16 Mar 2017 15:08:46 +0800 Wei Wang <wei.w.wang@xxxxxxxxx> wrote:

From: Liang Li <liang.z.li@xxxxxxxxx>

This patch adds a function to provides a snapshot of the present system
unused pages. An important usage of this function is to provide the
unsused pages to the Live migration thread, which skips the transfer of
thoses unused pages. Newly used pages can be re-tracked by the dirty
page logging mechanisms.
I don't think this will be useful for anything other than
virtio-balloon. I guess it would be better to keep this code in the
virtio-balloon driver if possible, even though that's rather a layering
violation :( What would have to be done to make that possible? Perhaps
we can put some *small* helpers into page_alloc.c to prevent things
from becoming too ugly.


Thanks for the suggestion. Small helpers do look more elegant. The nice thing is that I also didn't see any performance loss.
To make that possible, we need to enable for_each_polulated_zone() to be callable by a kernel module. Please have a check the v9 patches that I just posted out.

Best,
Wei