[ofa-general] performance to call ibv_poll_cq() vs. call select() on completion channel
Tziporet Koren
tziporet at dev.mellanox.co.il
Wed Sep 2 13:10:09 PDT 2009
Tang, Changqing wrote:
> Roland or Mellanox Engineers:
>
> We setup completion channel for a completion queue. We want to check if there is any
> event available, and suppose there is NO event on both completion channel and completion queue.
>
> What we can do is:
>
> 1. call select() on completion channel with zero timeout and return 0.
> 2. call ibv_poll_cq() directly and return 0.
>
> Question:
>
> Which way has lower overhead ?
ibv_poll_cq
> We know select() has to switch to kernel mode, does ibv_poll_cq()
> switch to kernel mode and may cause a context switch ?
>
No - it's pure user space function
Tziporet
More information about the general
mailing list