On 02.07.24 13:46, Christoph Hellwig wrote:
On Tue, Jul 02, 2024 at 09:18:31AM +0200, David Hildenbrand wrote:
We have this comparably nasty vmf_insert_mixed() that FS dax abused to
insert into !VM_MIXED VMAs. Is that abuse now stopping and are there maybe
ways to get rid of vmf_insert_mixed()?
Unfortunately it is also used by a few drm drivers and not just DAX.
At least they all seem to set VM_MIXED:
* fs/cramfs/inode.c does
* drivers/gpu/drm/gma500/fbdev.c does
* drivers/gpu/drm/omapdrm/omap_gem.c does
Only DAX (including drivers/dax/device.c) doesn't.
VM_MIXEDMAP handling for DAX was changed in
commit e1fb4a0864958fac2fb1b23f9f4562a9f90e3e8f
Author: Dave Jiang <dave.jiang@xxxxxxxxx>
Date: Fri Aug 17 15:43:40 2018 -0700
dax: remove VM_MIXEDMAP for fsdax and device dax
After prepared by
commit 785a3fab4adbf91b2189c928a59ae219c54ba95e
Author: Dan Williams <dan.j.williams@xxxxxxxxx>
Date: Mon Oct 23 07:20:00 2017 -0700
mm, dax: introduce pfn_t_special()
In support of removing the VM_MIXEDMAP indication from DAX VMAs,
introduce pfn_t_special() for drivers to indicate that _PAGE_SPECIAL
should be used for DAX ptes.
I wonder if there are ways forward to either remove vmf_insert_mixed()
or at least require it (as the name suggests) to have VM_MIXEDMAP set.
--
Cheers,
David / dhildenb