Re: [PATCH] virtio_balloon: high order allocation

From: Soichiro Ueda
Date: Thu Dec 29 2022 - 00:32:11 EST


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,