On Fri, Oct 13, 2017 at 9:38 AM, Jason Gunthorpe
<jgunthorpe(a)obsidianresearch.com> wrote:
On Fri, Oct 13, 2017 at 08:14:55AM -0700, Dan Williams wrote:
> scheme specific to RDMA which seems like a waste to me when we can
> generically signal an event on the fd for any event that effects any
> of the vma's on the file. The FL_LAYOUT lease impacts the entire file,
> so as far as I can see delaying the notification until MR-init is too
> late, too granular, and too RDMA specific.
But for RDMA a FD is not what we care about - we want the MR handle so
the app knows which MR needs fixing.
I'd rather put the onus on userspace to remember where it used a
MAP_DIRECT mapping and be aware that all the mappings of that file are
subject to a lease break. Sure, we could build up a pile of kernel
infrastructure to notify on a per-MR basis, but I think that would
only be worth it if leases were range based. As it is, the entire file
is covered by a lease instance and all MRs that might reference that
file get one notification. That said, we can always arrange for a
per-driver callback at lease-break time so that it can do something
above and beyond the default notification.