-
- Downloads
IB/core: Change completion channel to use the reworked objects schema
This patch adds the standard fd based type - completion_channel. The completion_channel is now prefixed with ib_uobject, similarly to the rest of the uobjects. This requires a few changes: (1) We define a new completion channel fd based object type. (2) completion_event and async_event are now two different types. This means they use different fops. (3) We release the completion_channel exactly as we release other idr based objects. (4) Since ib_uobjects are already kref-ed, we only add the kref to the async event. A fd object requires filling out several parameters. Its op pointer should point to uverbs_fd_ops and its size should be at least the size if ib_uobject. We use a macro to make the type declaration easier. Signed-off-by:Matan Barak <matanb@mellanox.com> Reviewed-by:
Yishai Hadas <yishaih@mellanox.com> Signed-off-by:
Doug Ledford <dledford@redhat.com>
Showing
- drivers/infiniband/core/uverbs.h 17 additions, 9 deletionsdrivers/infiniband/core/uverbs.h
- drivers/infiniband/core/uverbs_cmd.c 37 additions, 20 deletionsdrivers/infiniband/core/uverbs_cmd.c
- drivers/infiniband/core/uverbs_main.c 161 additions, 118 deletionsdrivers/infiniband/core/uverbs_main.c
- drivers/infiniband/core/uverbs_std_types.c 32 additions, 1 deletiondrivers/infiniband/core/uverbs_std_types.c
- include/rdma/uverbs_std_types.h 1 addition, 0 deletionsinclude/rdma/uverbs_std_types.h
- include/rdma/uverbs_types.h 9 additions, 0 deletionsinclude/rdma/uverbs_types.h
Loading
Please register or sign in to comment