On Tue 09-10-18 13:26:41, Alexander Duyck wrote: [...] > I would think with that being the case we still probably need the call to > __SetPageReserved to set the bit with the expectation that it will not be > cleared for device-pages since the pages are not onlined. Removing the call > to __SetPageReserved would probably introduce a number of regressions as > there are multiple spots that use the reserved bit to determine if a page > can be swapped out to disk, mapped as system memory, or migrated. PageReserved is meant to tell any potential pfn walkers that might get to this struct page to back off and not touch it. Even though ZONE_DEVICE doesn't online pages in traditional sense it makes those pages available for further use so the page reserved bit should be cleared. -- Michal Hocko SUSE Labs