Re: [PATCH 1/1] IB/iser: Remove hard coded values for cqe and send_wr

Or Gerlitz
2014-10-20T21:09:16Z

On Tue, Oct 21, 2014 at 12:06 AM, Or Gerlitz <gerlitz.or-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Mon, Oct 20, 2014 at 9:11 PM, Minh Duc Tran <MinhDuc.Tran-laKkSmNT4hbQT0dZR+AlfA@public.gmane.org> wrote:
>>>> +++ b/drivers/infiniband/ulp/iser/iser_verbs.c
>>>> @@ -114,6 +114,9 @@ static int iser_create_device_ib_res(struct iser_device *device)
>>>> if (IS_ERR(device->pd))
>>>> goto pd_err;
>>>>
>>>> + max_cqe = (dev_attr->max_cqe < ISER_MAX_CQ_LEN) ?
>>>> + dev_attr->max_cqe : ISER_MAX_CQ_LEN;
>>>> +
>>
>>>If I was the ocrdma maintainer I would say load and clear: NO, please.
>>>Your current offering supports 32 CQs per device, and this means that on 32 core node you will be able to run only iSER, no other ULP.
>>>Generally, this approach is wrong, causing bad user experience and we will not do that.
>>
>> Hi Or,
>>
>> All 32 CQs will never get used. Here are the reasons:
>> 1) current #define ISER_MAX_CQ 4
>> 2) Your proposed TODO "#1. change the number of CQs to be min(num_cpus, 1/2 of what the device can support)"
>> This would limits the max CQs device supports to 1/2 anyway.
>>
>> If you don't agree, I like to get your suggestions of what I should do in this case for CQs that have 8k of entries each.

So I was wrong, sorry... you were talking on CQEs not CQs. I think
Sagi has some proposal on how to harden the code that deals with
setting the size of CQs, let me talk to him.