Hi,

I am writing some rdma based programs using the Intel NetEffect iWARP NICs.

I am running into the following problems with my code -

1.
I can only set maximum work requests to 510 using rdma_create_qp, otherwise it gives me an error – “libnes: nes_ucreate_qp Bad sq attr parameters max_send_wr=511 max_send_sge=1.
Is there a way to increase this?”

2.
Is there a way to do RDMA writes without using a completion queue? I use an alternative channel to determine if my work requests were correctly executed or not. When I tried to do so I could send 510 (may be related to the previous question) work requests successfully. After that ibv_post_send returns 22. Repeatedly retrying ibv_post_send doesn’t seem to clear the problem. It returns the same error code. Checked up the error code which tells me invalid arguments.? Unable to make sense of this. Is there a way to clean up the work requests in the system?

I am creating the queue pair with sq_sig_all = 0 in struct ibv_qp_init_attr and am not setting setting IBV_SEND_SIGNALED in the send_flags member of struct ibv_send_wr. This means I do not get any completion events. When calling rdma_create_qp I initialize the send_cq and recv_cq of the struct ibv_qp_init_attr with the completion queue created using ibv_create_cq (with cge parameter same as cap.max_send_wr in struct ibv_qp_init_attr. (I think that creating a completion queue is a must for creating an rdma queue pair - pls correct me if I am wrong.)

Pls note – I do not get this problem when I poll completion queues (when rdma queue pair is created with sq_sig_all = 0 && IBV_SEND_SIGNALED set in the flag of the work requests to ibv_post_send)

Thanks,
Manoj Nambiar
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to