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 int ibv_destroy_comp_channel(struct ibv_comp_channel *channel);
15
17 ibv_create_comp_channel() creates a completion event channel for the
18 InfiniBand device context context.
19
20 ibv_destroy_comp_channel() destroys the completion event channel chan‐
21 nel.
22
24 ibv_create_comp_channel() returns a pointer to the created completion
25 event channel, or NULL if the request fails.
26
27 ibv_destroy_comp_channel() returns 0 on success, or the value of errno
28 on failure (which indicates the failure reason).
29
31 A "completion channel" is an abstraction introduced by libibverbs that
32 does not exist in the InfiniBand Architecture verbs specification. A
33 completion channel is essentially file descriptor that is used to
34 deliver completion notifications to a userspace process. When a com‐
35 pletion event is generated for a completion queue (CQ), the event is
36 delivered via the completion channel attached to that CQ. This may be
37 useful to steer completion events to different threads by using multi‐
38 ple completion channels.
39
40 ibv_destroy_comp_channel() fails if any CQs are still associated with
41 the completion event channel being destroyed.
42
44 ibv_open_device(3), ibv_create_cq(3), ibv_get_cq_event(3)
45
47 Dotan Barak <dotanb@mellanox.co.il>
48
49
50
51libibverbs 2006-10-31 IBV_CREATE_COMP_CHANNEL(3)