Messages in this thread | | | Subject | Re: [PATCH v4 01/13] Linux RDMA Core Changes | From | Steve Wise <> | Date | Wed, 03 Jan 2007 08:25:48 -0600 |
| |
> > @@ -1373,7 +1374,7 @@ int ib_peek_cq(struct ib_cq *cq, int wc_ > > static inline int ib_req_notify_cq(struct ib_cq *cq, > > enum ib_cq_notify cq_notify) > > { > > - return cq->device->req_notify_cq(cq, cq_notify); > > + return cq->device->req_notify_cq(cq, cq_notify, NULL); > > } > > > > /** > > Can't say I like this adding overhead in data path operations (and note this > can't be optimized out). And kernel consumers work without passing it in, so it > hurts kernel code even for Chelsio. Granted, the cost is small here, but these > things do tend to add up. > > It seems all Chelsio needs is to pass in a consumer index - so, how about a new > entry point? Something like void set_cq_udata(struct ib_cq *cq, struct ib_udata *udata)? >
Adding a new entry point would hurt chelsio's user mode performance if if then requires 2 kernel transitions to rearm the cq.
Passing in user data is sort of SOP for these sorts of verbs.
How much does passing one more param cost for kernel users?
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |