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

Or Gerlitz
2014-10-20T21:06:30Z

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.

Oh, I am still OK with my suggestions... min(num_cpus, 1/2 dev max
CQs)" is fine, sure, but this isn't what your patch was doing, right?