get_user_pages(), pinned pages, and DAX
get_user_pages(), pinned pages, and DAX
Posted May 8, 2019 0:57 UTC (Wed) by dgc (subscriber, #6611)Parent article: get_user_pages(), pinned pages, and DAX
> on a truncate event. Perhaps the kernel should use the NFS (or the SMB direct)
> mechanism?
Yup, that's exactly what I've been saying for the past ~3 years or so.
> There are challenges to implementing that, Weiny said, and in any
> case it's not the approach that people have been looking at.
<sigh>
Here's my rant on /exactly this topic/ from a day or two before LSFMM:
https://lore.kernel.org/linux-fsdevel/20190501234740.GN14...
I've said "file layout leases solve the revocation problem" and used the pNFS remote direct block device access example so many times now that I'm quite peeved that high level pmem/DAX developers are /still/ saying "people are not looking at it".
> DAX is fundamentally
> different, he said, in that it uses a filesystem to control memory semantics.
From the filesystem perspective it's no different to any other persistent storage - it's just that the backing store is closer to the CPU than DMA based storage devices.
This is the fundamental disagreement DAX causes: some people say it's storage whose access is arbitrated by
the filesystem and the filesystem syscall API (it's called FS-DAX for a reason!). The people who want to do RDMA, peer-to-peer DMA, etc all see it as roughly equivalent to page cache memory and so they can largely ignore the filesystem.
IOWs, this is all an argument over /who controls direct access to the storage/.
And the really dumb thing in this argument?
The FS-DAX core code itself depends on the filesystem layout break notification mechanisms to break and wait on DAX page table mappings to be released before truncate/hole punching can go ahead (see BREAK_UNMAP usage w/ xfs_break_layouts()). Yup, kernel FS-DAX effectively already uses the direct access arbitration model and interface we want userspace applications to use.....
IOWs, I'm not at all surprised by the fact this session turned into a yelling match....
-Dave.
