Hi David.
How does this affect page migration / balloon compaction etc?
I guess this patch doesn't affect balloon compaction. When allocating
pages using alloc_pages(), it skips compaction by masking out
__GFP_RECLAIM if the order is larger than 0.
As for page migration, in the current implementation it migrate a
0-order page to another 0-order page. With this patch, it may migrate a
high-order page to another same-order page.
But I noticed that the migrated high-order page is handled as 0-order
page in virtballoon_migratepage().
> balloon_page_insert(vb_dev_info, newpage);
We should put the newpage into a page list of the corresponding order,
like this.
balloon_page_enqueue(vb_dev_info, newpage, order);
I'll fix it in the v2 patch.
Thank you,