Re: [PATCHv2] rdma: add a new IB_ACCESS_GIFT flag

Michael S. Tsirkin
2013-04-02T17:05:33Z

On Tue, Apr 02, 2013 at 09:57:38AM -0700, Roland Dreier wrote:
> On Tue, Apr 2, 2013 at 8:51 AM, Michael S. Tsirkin <mst@redhat.com> wrote:
> >> At the moment registering an MR breaks COW. This breaks memory
> >> overcommit for users such as KVM: we have a lot of COW pages, e.g.
> >> instances of the zero page or pages shared using KSM.
> >>
> >> If the application does not care that adapter sees stale data (for
> >> example, it tracks writes reregisters and resends), it can use a new
> >> IBV_ACCESS_GIFT flag to prevent registration from breaking COW.
> >>
> >> The semantics are similar to that of SPLICE_F_GIFT thus the name.
> >>
> >> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> > Roland, Michael is yet to test this but could you please
> > confirm whether this looks acceptable to you?
>
> The patch itself is reasonable I guess, given the needs of this particular app.
>
> I'm not particularly happy with the name of the flag. The analogy
> with SPLICE_F_GIFT doesn't seem particularly strong and I'm not
> convinced even the splice flag name is very understandable. But in
> the RDMA case there's not really any sense in which we're "gifting"
> memory to the adapter -- we're just telling the library "please don't
> trigger copy-on-write" and it doesn't seem particularly easy for users
> to understand that from the flag name.
>
> - R.

The point really is that any writes by application
won't be seen until re-registration, right?
OK, what's a better name? IBV_ACCESS_NON_COHERENT?
Please tell me what is preferable and we'll go ahead with it.

--
MST