linux/include/rdma
Matan Barak f43dbebfa3 IB/core: Add support to finalize objects in one transaction
The new ioctl based infrastructure either commits or rollbacks
all objects of the method as one transaction. In order to do
that, we introduce a notion of dealing with a collection of
objects that are related to a specific method.

This also requires adding a notion of a method and attribute.
A method contains a hash of attributes, where each bucket
contains several attributes. The attributes are hashed according
to their namespace which resides in the four upper bits of the id.

For example, an object could be a CQ, which has an action of CREATE_CQ.
This action has multiple attributes. For example, the CQ's new handle
and the comp_channel. Each layer in this hierarchy - objects, methods
and attributes is split into namespaces. The basic example for that is
one namespace representing the default entities and another one
representing the driver specific entities.

When declaring these methods and attributes, we actually declare
their specifications. When a method is executed, we actually
allocates some space to hold auxiliary information. This auxiliary
information contains meta-data about the required objects, such
as pointers to their type information, pointers to the uobjects
themselves (if exist), etc.
The specification, along with the auxiliary information we allocated
and filled is given to the finalize_objects function.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-08-30 10:30:38 -04:00
..
ib.h new helper: uaccess_kernel() 2017-03-28 16:43:25 -04:00
ib_addr.h Merge branch 'misc' into k.o/for-next 2017-08-18 14:10:23 -04:00
ib_cache.h RDMA/core: export ib_get_cached_port_state 2017-01-12 23:00:00 -05:00
ib_cm.h IB/SA: Rename ib_sa_path_rec to sa_path_rec 2017-05-01 14:37:28 -04:00
ib_fmr_pool.h RDMA: Improve include file coding style 2008-07-14 23:48:44 -07:00
ib_hdrs.h IB/hfi1: Add functions to parse BTH/IB headers 2017-06-27 16:56:33 -04:00
ib_mad.h IB/core: Enforce security on management datagrams 2017-05-23 12:27:21 -04:00
ib_marshall.h IB/core: Convert ah_attr from OPA to IB when copying to user 2017-08-08 14:47:18 -04:00
ib_pack.h IB/hfi1: Add transmit fault injection feature 2017-04-05 14:45:09 -04:00
ib_pma.h IB/core: Display extended counter set if available 2015-12-23 15:58:30 -05:00
ib_sa.h RDMA/SA: Fix kernel panic in CMA request handler flow 2017-06-01 17:20:14 -04:00
ib_smi.h IB/core: Move SM class defines from ib_mad.h to ib_smi.h 2015-09-03 15:50:32 -04:00
ib_umem.h IB/umem: Add contiguous ODP support 2017-04-25 15:40:28 -04:00
ib_umem_odp.h IB/umem: Add support to huge ODP 2017-04-25 15:40:28 -04:00
ib_verbs.h IB/core: Add new SRQ type IB_SRQT_TM 2017-08-29 08:30:17 -04:00
iw_cm.h rdma_cm: add rdma_reject_msg() helper function 2016-12-14 11:38:28 -05:00
iw_portmap.h RDMA/core: Enable the iWarp Port Mapper to provide the actual address of the connecting peer to its clients 2015-05-05 09:18:01 -04:00
mr_pool.h IB/core: add a simple MR pool 2016-05-13 13:37:18 -04:00
opa_addr.h IB/hfi1: Add 16B UD support 2017-08-22 14:22:37 -04:00
opa_port_info.h IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
opa_smi.h IB/mad: Eliminate redundant SM class version defines for OPA 2016-12-14 11:01:58 -05:00
opa_vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
rdma_cm.h IB/SA: Rename ib_sa_path_rec to sa_path_rec 2017-05-01 14:37:28 -04:00
rdma_cm_ib.h IB/SA: Rename ib_sa_path_rec to sa_path_rec 2017-05-01 14:37:28 -04:00
rdma_netlink.h rdma: Autoload netlink client modules 2017-08-22 17:04:22 -04:00
rdma_vt.h IB/hfi1: Stricter bounds checking of MAD trap index 2017-08-22 14:22:37 -04:00
rdmavt_cq.h IB/rdmavt: Add completion queue functions 2016-03-10 20:37:24 -05:00
rdmavt_mr.h IB/rdmavt: Handle dereg of inuse MRs properly 2017-08-28 19:12:31 -04:00
rdmavt_qp.h IB/rdmavt: Handle dereg of inuse MRs properly 2017-08-28 19:12:31 -04:00
rw.h IB/core: add RW API support for signature MRs 2016-05-13 13:37:20 -04:00
uverbs_ioctl.h IB/core: Add support to finalize objects in one transaction 2017-08-30 10:30:38 -04:00
uverbs_std_types.h IB/core: Change completion channel to use the reworked objects schema 2017-04-05 13:28:04 -04:00
uverbs_types.h IB/core: Rename write flag to exclusive in rdma_core 2017-04-20 11:44:07 -04:00