Re: [PATCH V2 3/5] RDMA/core: transport-independent access flags

Sagi Grimberg
2015-07-02T13:23:22Z

On 7/2/2015 4:17 PM, Steve Wise wrote:
> On 7/2/2015 1:22 AM, Sagi Grimberg wrote:
>> On 6/30/2015 8:10 PM, Hefty, Sean wrote:
>>>> I suggest to start consolidating to ib_create_mr() that receives an
>>>> extensible ib_mr_init_attr and additional attributes can be mr_roles
>>>> and mr_attrs.
>>>
>>> I think this makes sense, but does it really help?
>>> If the end result is that the app and providers basically
>>> end up switching on mr_attr::type, we end up reducing the
>>> number of APIs, but the code complexity remains the same.
>>>
>>
>> I think it will reduce code complexity. First, the callers
>> will have a single API to allocate a memory key. I'm not sure why you
>> say that app needs to switch on mr::type, it knows which type it wants.
>>
>
> I dont see how doing this is less complex:
>
> attr = FASTREG
> mr = create_mr(attr)
>
> vs:
>
> mr = lloc_fast_reg_mr()

The simplification is that you can facilitate changes like your
mr_roles and any other things we may want to add to mr allocation
easily instead of suggesting wrappers over wrappers over wrappers.

This is why I suggested it in the first place.

Sagi.