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