[openib-general] [PATCH/RFC]
Roland Dreier
rolandd at cisco.com
Mon Nov 7 16:52:55 PST 2005
Any comments on changing the signature of the struct ib_device
resize_cq method to take the new CQ size rather than a pointer to the
new CQ size? The low-level driver would then be responsible for
updating the cq->cqe member itself (possibly with proper locking).
This would also make the prototype match the create_cq method and the
actual ib_resize_cq() function.
No device drivers implement this interface yet (except ehca, which had
a commented-out resize_cq method with a prototype that matches the new
changed signature, rather than the current signature).
- R.
--- infiniband/include/rdma/ib_verbs.h (revision 3979)
+++ infiniband/include/rdma/ib_verbs.h (working copy)
@@ -881,7 +881,7 @@ struct ib_device {
struct ib_ucontext *context,
struct ib_udata *udata);
int (*destroy_cq)(struct ib_cq *cq);
- int (*resize_cq)(struct ib_cq *cq, int *cqe);
+ int (*resize_cq)(struct ib_cq *cq, int cqe);
int (*poll_cq)(struct ib_cq *cq, int num_entries,
struct ib_wc *wc);
int (*peek_cq)(struct ib_cq *cq, int wc_cnt);
--- infiniband/core/verbs.c (revision 3979)
+++ infiniband/core/verbs.c (working copy)
@@ -329,11 +329,7 @@ int ib_resize_cq(struct ib_cq *cq,
if (!cq->device->resize_cq)
return -ENOSYS;
- ret = cq->device->resize_cq(cq, &cqe);
- if (!ret)
- cq->cqe = cqe;
-
- return ret;
+ return cq->device->resize_cq(cq, cqe);
}
EXPORT_SYMBOL(ib_resize_cq);
More information about the general
mailing list