On 12/14/18 11:48 AM, Matthew Wilcox wrote: > I think we can do better than a proxy object with bit 0 set. I'd go > for allocating something like this: > > struct dynamic_page { > struct page; > unsigned long vaddr; > unsigned long pfn; > ... > }; > > and use a bit in struct page to indicate that this is a dynamic page. That might be fun. We'd just need a fast/static and slow/dynamic path in page_to_pfn()/pfn_to_page(). We'd also need some kind of auxiliary pfn-to-page structure since we could not fit that^ structure in vmemmap[].