Re: [PATCH v1 00/24] Shared PD and MR

Yuval Shaia
2019-08-26T10:30:21Z

On Thu, Aug 22, 2019 at 05:03:15PM +0000, Jason Gunthorpe wrote:
> On Thu, Aug 22, 2019 at 09:58:42AM -0700, Ira Weiny wrote:
>
> > Add to your list "how does destruction of a MR in 1 process get communicated to
> > the other?" Does the 2nd process just get failed WR's?
>
> IHMO a object that has been shared can no longer be asynchronously
> destroyed. That is the whole point. A lkey/rkey # alone is inherently
> unsafe without also holding a refcount on the MR.

You meant to say "can no longer be synchronously destroyed", right?

>
> > I have some of the same concerns as Doug WRT memory sharing. FWIW I'm not sure
> > that what SCM_RIGHTS is doing is safe or correct.
> >
> > For that work I'm really starting to think SCM_RIGHTS transfers should be
> > blocked.
>
> That isn't possible, SCM_RIGHTS is just some special case, fork(),
> exec(), etc all cause the same situation. Any solution that blocks
> those is a total non-starter.
>
> > It just seems wrong that Process B gets references to Process A's
> > mm_struct and holds the memory Process A allocated.
>
> Except for ODP, a MR doesn't reference the mm_struct. It references
> the pages. It is not unlike a memfd.
>
> Jason