Re: Enabling peer to peer device transactions for PCIe devices

From: Christoph Hellwig
Date: Fri Nov 25 2016 - 03:21:44 EST

On Thu, Nov 24, 2016 at 11:11:34AM -0700, Logan Gunthorpe wrote:
> * Regular DAX in the FS doesn't work at this time because the FS can
> move the file you think your transfer to out from under you. Though I
> understand there's been some work with XFS to solve that issue.

The file system will never move anything under locked down pages,
locking down pages is used exactly to protect against that. So as long
as we page structures available RDMA to/from device memory _from kernel
space_ is trivial, although for file systems to work properly you
really want a notification to the consumer if the file systems wants
to remove the mapping. We have implemented that using FL_LAYOUTS locks
for NFSD, but only XFS supports it so far. Without that a long term
locked down region of memory (e.g. a kernel MR) would prevent various
file operations that would simply hang.