>> +++ 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