Thread (32 messages) 32 messages, 6 authors, 2020-04-02

Re: [RFC for Linux] virtio_balloon: Add VIRTIO_BALLOON_F_THP_ORDER to handle THP spilt issue

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2020-03-31 14:18:26
Also in: lkml, qemu-devel

On Tue, Mar 31, 2020 at 04:09:59PM +0200, David Hildenbrand wrote:

...
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
So if we want to address this, IMHO this calls for a new API.
Along the lines of

   struct page *alloc_page_range(gfp_t gfp, unsigned int min_order,
                   unsigned int max_order, unsigned int *order)

the idea would then be to return at a number of pages in the given
range.

What do you think? Want to try implementing that?
..
I expect the whole "steal huge pages from your guest" to be problematic,
as I already mentioned to Alex. This needs a performance evaluation.

This all smells like a lot of workload dependent fine-tuning. :)

So that's why I proposed the API above.

The idea is that *if we are allocating a huge page anyway*,
rather than break it up let's send it whole to the device.
If we have smaller pages, return smaller pages.

That seems like it would always be an improvement, whatever the
workload.

-- 
MST
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help