1IBV_CREATE_COMP_CHANNEL(3L)ibibverbs Programmer's ManuaIlBV_CREATE_COMP_CHANNEL(3)
2
3
4
6 ibv_create_comp_channel, ibv_destroy_comp_channel - create or destroy a
7 completion event channel
8
10 #include <infiniband/verbs.h>
11
12 struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context
13 *context);
14
15 int ibv_destroy_comp_channel(struct ibv_comp_channel *channel);
16
18 ibv_create_comp_channel() creates a completion event channel for the
19 RDMA device context context.
20
21 ibv_destroy_comp_channel() destroys the completion event channel chan‐
22 nel.
23
25 ibv_create_comp_channel() returns a pointer to the created completion
26 event channel, or NULL if the request fails.
27
28 ibv_destroy_comp_channel() returns 0 on success, or the value of errno
29 on failure (which indicates the failure reason).
30
32 A "completion channel" is an abstraction introduced by libibverbs that
33 does not exist in the InfiniBand Architecture verbs specification or
34 RDMA Protocol Verbs Specification. A completion channel is essentially
35 file descriptor that is used to deliver completion notifications to a
36 userspace process. When a completion event is generated for a comple‐
37 tion queue (CQ), the event is delivered via the completion channel
38 attached to that CQ. This may be useful to steer completion events to
39 different threads by using multiple completion channels.
40
41 ibv_destroy_comp_channel() fails if any CQs are still associated with
42 the completion event channel being destroyed.
43
45 ibv_open_device(3), ibv_create_cq(3), ibv_get_cq_event(3)
46
48 Dotan Barak <dotanba@gmail.com>
49
50
51
52libibverbs 2006-10-31 IBV_CREATE_COMP_CHANNEL(3)