Man Linux: Main Page and Category List

NAME

       ibv_create_comp_channel, ibv_destroy_comp_channel - create or destroy a
       completion event channel

SYNOPSIS

       #include <infiniband/verbs.h>

       struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context
                                                        *context);

       int ibv_destroy_comp_channel(struct ibv_comp_channel *channel);

DESCRIPTION

       ibv_create_comp_channel() creates a completion event  channel  for  the
       RDMA device context context.

       ibv_destroy_comp_channel()   destroys   the  completion  event  channel
       channel.

RETURN VALUE

       ibv_create_comp_channel() returns a pointer to the  created  completion
       event channel, or NULL if the request fails.

       ibv_destroy_comp_channel()  returns 0 on success, or the value of errno
       on failure (which indicates the failure reason).

NOTES

       A "completion channel" is an abstraction introduced by libibverbs  that
       does  not  exist  in the InfiniBand Architecture verbs specification or
       RDMA Protocol Verbs Specification.  A completion channel is essentially
       file  descriptor  that is used to deliver completion notifications to a
       userspace  process.   When  a  completion  event  is  generated  for  a
       completion  queue  (CQ),  the  event  is  delivered  via the completion
       channel attached to that CQ.  This may be useful  to  steer  completion
       events to different threads by using multiple completion channels.

       ibv_destroy_comp_channel()  fails  if any CQs are still associated with
       the completion event channel being destroyed.

SEE ALSO

       ibv_open_device(3), ibv_create_cq(3), ibv_get_cq_event(3)

AUTHORS

       Dotan Barak <dotanba@gmail.com>