| .\" -*- nroff -*- |
| .\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md |
| .\" |
| .TH IBV_ALLOC_TD 3 2017-11-06 libibverbs "Libibverbs Programmer's Manual" |
| .SH "NAME" |
| ibv_alloc_td(), ibv_dealloc_td() \- allocate and deallocate thread domain object |
| .SH "SYNOPSIS" |
| .nf |
| .B #include <infiniband/verbs.h> |
| .sp |
| .BI "struct ibv_td *ibv_alloc_td(struct ibv_context " "*context" , |
| .BI " struct ibv_td_init_attr " "*init_attr" ); |
| .sp |
| .BI "int ibv_dealloc_td(struct ibv_td " "*td"); |
| .fi |
| .SH "DESCRIPTION" |
| .B ibv_alloc_td() |
| allocates a thread domain object for the RDMA device context |
| .I context\fR. |
| .sp |
| The thread domain object defines how the verbs libraries and provider will use |
| locks and additional hardware capabilities to achieve best performance for |
| handling multi-thread or single-thread protection. An application assigns |
| verbs resources to a thread domain when it creates a verbs object. |
| .sp |
| If the |
| .I |
| ibv_td |
| object is specified then any objects created under this thread domain will |
| disable internal locking designed to protect against concurrent access to that |
| object from multiple user threads. By default all verbs objects are safe for |
| multi-threaded access, whether or not a thread domain is specified. |
| .sp |
| A |
| .I struct ibv_td |
| can be added to a parent domain via |
| .B ibv_alloc_parent_domain() |
| and then the parent domain can be used to create verbs objects. |
| .sp |
| .B ibv_dealloc_td() |
| will deallocate the thread domain |
| .I td\fR. |
| All resources created with the |
| .I td |
| should be destroyed prior to deallocating the |
| .I td\fR. |
| .SH "RETURN VALUE" |
| .B ibv_alloc_td() |
| returns a pointer to the allocated struct |
| .I ibv_td |
| object, or NULL if the request fails (and sets errno to indicate the failure reason). |
| .sp |
| .B ibv_dealloc_td() |
| returns 0 on success, or the value of errno on failure (which indicates the failure reason). |
| .SH "SEE ALSO" |
| .BR ibv_alloc_parent_domain (3), |
| .SH "AUTHORS" |
| .TP |
| Alex Rosenbaum <alexr@mellanox.com> |
| .TP |
| Yishai Hadas <yishaih@mellanox.com> |