[openib-general] question about poll_cq()
Joerg Zinke
umaxx at oleco.net
Wed Oct 26 03:00:02 PDT 2005
On Tue, 25 Oct 2005 09:19:25 -0700
Roland Dreier <rolandd at cisco.com> wrote:
>
> A very brief sketch of what happens is that the device-specific
> implementation of CQs for Mellanox HCAs allocates a circular buffer in
> memory and passes the address to the hardware. The buffer is divided
> into fixed-size chunks, each of which represents one completion entry.
> Initially the buffer is cleared out, and every time the hardware adds
> an entry onto the completion queue, it sets a bit in that chunk to
> show that the entry is now valid. The driver polls the CQ by looking
> to see if the next chunk has the bit set. If it does, then the driver
> translates the entry from hardware format into standard struct ibv_wc
> format; if it doesn't, then the driver returns status indicating that
> the CQ is empty.
>
> Completion queues are always located in local system memory.
>
> - R.
>
thanks for your reply. that's all i wanted to know.
joerg
More information about the general
mailing list