Sean:
        I understand that ops.poll_cq is actually ibv_cmd_poll_cq(), right ?

        Do you mean during ibv_poll_cq() call, there is no system call involved 
?

--CQ


> -----Original Message-----
> From: Sean Hefty [mailto:[email protected]] 
> Sent: Wednesday, September 02, 2009 5:25 PM
> To: Tang, Changqing; [email protected]
> Cc: [email protected]
> Subject: RE: [ofa-general] performance to call ibv_poll_cq() 
> vs. call select() on completion channel
> 
> >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