ibv_create_comp_channel - create or destroy a completion event channel
#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);
Libibverbs Programmer's Manual
IBV_CREATE_COMP_CHANNEL(3)
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 chan-
nel.
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).
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+-----------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-----------------------+
|Availability | network/open-fabrics |
+---------------+-----------------------+
|Stability | Pass-through volatile |
+---------------+-----------------------+
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 comple-
tion 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.
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from ['https://www.openfabrics.org/down-
loads/ibutils/ibutils-1.5.7-0.2.gbd7e502.tar.gz', 'https://www.openfab-
rics.org/downloads/libibverbs/libibverbs-1.1.8.tar.gz',
'https://www.openfabrics.org/downloads/libmlx4/libmlx4-1.0.6.tar.gz',
'https://www.openfabrics.org/downloads/libsdp/lib-
sdp-1.1.108-0.15.gd7fdb72.tar.gz', 'https://www.openfabrics.org/down-
loads/management/infiniband-diags-1.6.5.tar.gz', 'https://www.openfab-
rics.org/downloads/management/libibmad-1.3.12.tar.gz',
'https://www.openfabrics.org/downloads/management/libibu-
mad-1.3.10.2.tar.gz', 'https://www.openfabrics.org/downloads/manage-
ment/opensm-3.3.19.tar.gz', 'https://www.openfabrics.org/down-
loads/perftest/perftest-1.3.0-0.42.gf350d3d.tar.gz', 'https://www.open-
fabrics.org/downloads/qperf/qperf-0.4.9.tar.gz', 'https://www.openfab-
rics.org/downloads/rdmacm/librdmacm-1.0.21.tar.gz', 'https://www.open-
fabrics.org/downloads/rds-tools/rds-tools-2.0.4.tar.gz'].
Further information about this software can be found on the open source
community website at http://www.openfabrics.org/.
SEE ALSO
ibv_open_device(3), ibv_create_cq(3), ibv_get_cq_event(3)
AUTHORS
Dotan Barak <dotanba@gmail.com>
libibverbs 2006-10-31
IBV_CREATE_COMP_CHANNEL(3)