On Tue 22-10-19 11:17:24, David Hildenbrand wrote: > On 22.10.19 11:14, Michal Hocko wrote: > > On Tue 22-10-19 10:32:11, David Hildenbrand wrote: > > [...] > > > E.g., arch/x86/kvm/mmu.c:kvm_is_mmio_pfn() > > > > Thanks for these references. I am not really familiar with kvm so I > > cannot really comment on the specific code but I am wondering why > > it simply doesn't check for ZONE_DEVICE explicitly? Also we do care > > about holes in RAM (from the early boot), those should be reserved > > already AFAIR. So we are left with hotplugged memory with holes and > > I am not really sure we should bother with this until there is a clear > > usecase in sight. > > Well, checking for ZONE_DEVICE is only possible if you have an initialized > memmap. And that is not guaranteed when you start mapping random stuff into > your guest via /dev/mem. Yes, I can understand that part but checking PageReserved on an uninitialized memmap is pointless as well. So if you can test for it you can very well test for ZONE_DEVICE as well. PageReserved -> ZONE_DEVICE is a terrible assumption. > I am reworking these patches right now and audit the whole kernel for > PageReserved() checks that might affect ZONE_DEVICE. I'll send the > collection of patches as RFC. Thanks a lot! -- Michal Hocko SUSE Labs