> static inline int ib_poll_cq(struct ib_cq *cq, int num_entries,
> struct ib_wc *wc)
> {
> unsigned long flags;
> int ret;
> spin_lock_irqsave(cq->lock, flags);
> ret = cq->poll_cq(cq, num_entries, wc);
> spin_unlock_irqrestore(cq->lock, flags);
> return ret;
> }
Definitely an interesting idea, although it doesn penalize a
hypothetical device that can do lock-free CQ polling somehow.
My bias has been to leave locking to the low-level driver, but if you
can show an improvement on real hardware with this idea then I would
be inclined to use this approach.
- R.
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general