>> +++ 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.
Thanks.
-Minh
>> for (i = 0; i < device->comps_used; i++) {
>> struct iser_comp *comp = &device->comps[i];
>>
>> @@ -122,7 +125,7 @@ static int iser_create_device_ib_res(struct iser_device
>> *device)
>> iser_cq_callback,
>> iser_cq_event_callback,
>> (void *)comp,
>> - ISER_MAX_CQ_LEN, i);
>> + max_cqe, i);
N�����r��y����b�X��ǧv�^�){.n�+����{��ٚ�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i