Messages in this thread | | | Date | Tue, 26 Jun 2018 20:27:44 +0800 | From | Wei Wang <> | Subject | Re: [PATCH v34 2/4] virtio-balloon: VIRTIO_BALLOON_F_FREE_PAGE_HINT |
| |
On 06/26/2018 11:56 AM, Michael S. Tsirkin wrote: > On Tue, Jun 26, 2018 at 11:46:35AM +0800, Wei Wang wrote: >
>> >>> >>>> + if (!arrays) >>>> + return NULL; >>>> + >>>> + for (i = 0; i < max_array_num; i++) { >>> So we are getting a ton of memory here just to free it up a bit later. >>> Why doesn't get_from_free_page_list get the pages from free list for us? >>> We could also avoid the 1st allocation then - just build a list >>> of these. >> That wouldn't be a good choice for us. If we check how the regular >> allocation works, there are many many things we need to consider when pages >> are allocated to users. >> For example, we need to take care of the nr_free >> counter, we need to check the watermark and perform the related actions. >> Also the folks working on arch_alloc_page to monitor page allocation >> activities would get a surprise..if page allocation is allowed to work in >> this way. >> > mm/ code is well positioned to handle all this correctly.
I'm afraid that would be a re-implementation of the alloc functions, and that would be much more complex than what we have. I think your idea of passing a list of pages is better.
Best, Wei
| |