| .\" -*- nroff -*- |
| .\" |
| .TH IBV_CREATE_COMP_CHANNEL 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual" |
| .SH "NAME" |
| ibv_create_comp_channel, ibv_destroy_comp_channel \- create or |
| destroy a completion event channel |
| .SH "SYNOPSIS" |
| .nf |
| .B #include <infiniband/verbs.h> |
| .sp |
| .BI "struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context |
| .BI " " "*context" ); |
| .sp |
| .BI "int ibv_destroy_comp_channel(struct ibv_comp_channel " "*channel" ); |
| .fi |
| .SH "DESCRIPTION" |
| .B ibv_create_comp_channel() |
| creates a completion event channel for the RDMA device context |
| .I context\fR. |
| .PP |
| .B ibv_destroy_comp_channel() |
| destroys the completion event channel |
| .I channel\fR. |
| .SH "RETURN VALUE" |
| .B ibv_create_comp_channel() |
| returns a pointer to the created completion event channel, or NULL if the request fails. |
| .PP |
| .B ibv_destroy_comp_channel() |
| returns 0 on success, or the value of errno on failure (which indicates the failure reason). |
| .SH "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. |
| .PP |
| .B ibv_destroy_comp_channel() |
| fails if any CQs are still associated with the completion event |
| channel being destroyed. |
| .SH "SEE ALSO" |
| .BR ibv_open_device (3), |
| .BR ibv_create_cq (3), |
| .BR ibv_get_cq_event (3) |
| .SH "AUTHORS" |
| .TP |
| Dotan Barak <dotanba@gmail.com> |