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

Michael R. Hines
2013-04-02T22:17:17Z

I'm getting around to it, Michael, I promise =).

Just came back from vacation.

I have to re-build the ib_ucm kernel module from the original SUSE
kernel that I'm using along before I can test it......

The machines I'm using are slightly tied up with other things, so its
taking me a little time to prepare to apply the patch and test the new
kernel module...

- Michael

On 04/02/2013 01:05 PM, Michael S. Tsirkin wrote:
> 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.
>