Re: Thoughts on simple scanner approach for free page hinting

From: David Hildenbrand
Date: Tue Apr 09 2019 - 03:05:33 EST


On 09.04.19 04:44, Michael S. Tsirkin wrote:
> On Fri, Apr 05, 2019 at 05:09:45PM -0700, Alexander Duyck wrote:
>> In addition we will need some way to identify which pages have been
>> hinted on and which have not. The way I believe easiest to do this
>> would be to overload the PageType value so that we could essentially
>> have two values for "Buddy" pages. We would have our standard "Buddy"
>> pages, and "Buddy" pages that also have the "Offline" value set in the
>> PageType field. Tracking the Online vs Offline pages this way would
>> actually allow us to do this with almost no overhead as the mapcount
>> value is already being reset to clear the "Buddy" flag so adding a
>> "Offline" flag to this clearing should come at no additional cost.
>
> It bothers me a bit that this doesn't scale to multiple hint types
> if we ever need them. Would it be better to have two
> free lists: hinted and non-hinted one?

That would imply having to change all places trying to allocate memory
to have a look at both lists? I think that could be factored out. I
assume keeping track of the amount of pages would feel more naturally
than having split counters for the existing lists.

I think I'd actually prefer something like that, avoiding mixing page
types and working with different types per list.

--

Thanks,

David / dhildenb