mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
hw/rdma: Modify create/destroy QP to support SRQ
Modify create/destroy QP to support shared receive queue and rearrange the destroy_qp() code to avoid touching the QP after calling rdma_rm_dealloc_qp(). Signed-off-by: Kamal Heib <kamalheib1@gmail.com> Message-Id: <20190403113343.26384-4-kamalheib1@gmail.com> Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
This commit is contained in:
parent
cdc84058bc
commit
8b42cfab82
6 changed files with 67 additions and 33 deletions
|
@ -794,9 +794,9 @@ void rdma_backend_destroy_cq(RdmaBackendCQ *cq)
|
|||
|
||||
int rdma_backend_create_qp(RdmaBackendQP *qp, uint8_t qp_type,
|
||||
RdmaBackendPD *pd, RdmaBackendCQ *scq,
|
||||
RdmaBackendCQ *rcq, uint32_t max_send_wr,
|
||||
uint32_t max_recv_wr, uint32_t max_send_sge,
|
||||
uint32_t max_recv_sge)
|
||||
RdmaBackendCQ *rcq, RdmaBackendSRQ *srq,
|
||||
uint32_t max_send_wr, uint32_t max_recv_wr,
|
||||
uint32_t max_send_sge, uint32_t max_recv_sge)
|
||||
{
|
||||
struct ibv_qp_init_attr attr = {};
|
||||
|
||||
|
@ -824,6 +824,9 @@ int rdma_backend_create_qp(RdmaBackendQP *qp, uint8_t qp_type,
|
|||
attr.cap.max_recv_wr = max_recv_wr;
|
||||
attr.cap.max_send_sge = max_send_sge;
|
||||
attr.cap.max_recv_sge = max_recv_sge;
|
||||
if (srq) {
|
||||
attr.srq = srq->ibsrq;
|
||||
}
|
||||
|
||||
qp->ibqp = ibv_create_qp(pd->ibpd, &attr);
|
||||
if (!qp->ibqp) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue