>But I just check the source code, ibv_poll_cq() is actually ibv_cmd_poll_cq(),
>and ibv_cmd_poll_cq() calls write() system call on the IB device.
>
>Doesn't this write() system call switch to kernel mode and possiblely casuse
>a context switch ?

See verbs.h:

static inline int ibv_poll_cq(struct ibv_cq *cq, int num_entries, struct ibv_wc
*wc)
{
        return cq->context->ops.poll_cq(cq, num_entries, wc);
}

The userspace provider library sets poll_cq to an internal call.

- Sean

_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to