Re: [PATCH rdma-next 8/9] RDMA: Globally allocate and release QP memory

From: Dennis Dalessandro
Date: Wed Jul 21 2021 - 14:05:46 EST


On 7/20/21 4:35 AM, Leon Romanovsky wrote:
> On Mon, Jul 19, 2021 at 04:42:11PM +0300, Gal Pressman wrote:
>> On 18/07/2021 15:00, Leon Romanovsky wrote:
>>> From: Leon Romanovsky <leonro@xxxxxxxxxx>
>>>
>>> Convert QP object to follow IB/core general allocation scheme.
>>> That change allows us to make sure that restrack properly kref
>>> the memory.
>>>
>>> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxx>
>>
>> EFA and core parts look good to me.
>> Reviewed-by: Gal Pressman <galpress@xxxxxxxxxx>
>> Tested-by: Gal Pressman <galpress@xxxxxxxxxx>

Leon, I pulled your tree and tested, things look good so far.

For rdmavt and core:
Reviewed-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxxxxxxxxxxxxx>
Tested-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxxxxxxxxxxxxx>


> Thanks a lot.
>
>>
>>> +static inline void *rdma_zalloc_obj(struct ib_device *dev, size_t size,
>>> + gfp_t gfp, bool is_numa_aware)
>>> +{
>>> + if (is_numa_aware && dev->ops.get_numa_node)
>>
>> Honestly I think it's better to return an error if a numa aware allocation is
>> requested and get_numa_node is not provided.
>
> We don't want any driver to use and implement ".get_numa_node()" callback.
>
> Initially, I thought about adding WARN_ON(driver_id != HFI && .get_numa_node)
> to the device.c, but decided to stay with comment in ib_verbs.h only.

Maybe you could update that comment and add that it's for performance? This way
its clear we are different for a reason. I'd be fine adding a WARN_ON_ONCE like
you mention here. I don't think we need to fail the call but drawing attention
to it would not necessarily be a bad thing. Either way, RB/TB for me stands.

-Denny