On Sun, 22 Sep 2024 03:41:57 +0200 Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > [ add s390 folks to comment on CONFIG_FS_DAX_LIMITED ] [...] > > @@ -2516,6 +2545,44 @@ static vm_fault_t __vm_insert_mixed(struct vm_area_struct *vma, > > return VM_FAULT_NOPAGE; > > } > > > > +vm_fault_t dax_insert_pfn(struct vm_fault *vmf, pfn_t pfn_t, bool write) > > +{ > > + struct vm_area_struct *vma = vmf->vma; > > + pgprot_t pgprot = vma->vm_page_prot; > > + unsigned long pfn = pfn_t_to_pfn(pfn_t); > > + struct page *page = pfn_to_page(pfn); > > The problem here is that we stubbornly have __dcssblk_direct_access() to > worry about. That is the only dax driver that does not return > pfn_valid() pfns. > > In fact, it looks like __dcssblk_direct_access() is the only thing > standing in the way of the removal of pfn_t. > > It turns out it has been 3 years since the last time the question of > bringing s390 fully into the ZONE_DEVICE regime was raised: > > https://lore.kernel.org/all/20210820210318.187742e8@thinkpad/ > > Given that this series removes PTE_DEVMAP which was a stumbling block, > would it be feasible to remove CONFIG_FS_DAX_LIMITED for a few kernel > cycles until someone from the s390 side can circle back to add full > ZONE_DEVICE support? Yes, see also my reply to your "dcssblk: Mark DAX broken" patch. Thanks Alistair for your effort, making ZONE_DEVICE usable w/o extra PTE bit!