linux/drivers/infiniband/core
Christoph Hellwig e622f2f4ad IB: split struct ib_send_wr
This patch split up struct ib_send_wr so that all non-trivial verbs
use their own structure which embedds struct ib_send_wr.  This dramaticly
shrinks the size of a WR for most common operations:

sizeof(struct ib_send_wr) (old):	96

sizeof(struct ib_send_wr):		48
sizeof(struct ib_rdma_wr):		64
sizeof(struct ib_atomic_wr):		96
sizeof(struct ib_ud_wr):		88
sizeof(struct ib_fast_reg_wr):		88
sizeof(struct ib_bind_mw_wr):		96
sizeof(struct ib_sig_handover_wr):	80

And with Sagi's pending MR rework the fast registration WR will also be
down to a reasonable size:

sizeof(struct ib_fastreg_wr):		64

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bart.vanassche@sandisk.com> [srp, srpt]
Reviewed-by: Chuck Lever <chuck.lever@oracle.com> [sunrpc]
Tested-by: Haggai Eran <haggaie@mellanox.com>
Tested-by: Sagi Grimberg <sagig@mellanox.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
2015-10-08 11:09:10 +01:00
..
addr.c IB/core cleanup: Add const to args - agent_send_response 2015-06-02 09:33:13 -04:00
agent.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
agent.h IB/mad: Add final OPA MAD processing 2015-06-12 14:49:18 -04:00
cache.c IB/mlx4: Implement ib_device callbacks 2015-08-30 18:12:20 -04:00
cm.c IB/cm: Remove compare_data checks 2015-08-30 15:48:24 -04:00
cm_msgs.h IB/core: Fix unaligned accesses 2015-05-05 13:21:27 -04:00
cma.c IB/cma: Accept connection without a valid netdev on RoCE 2015-10-06 14:25:16 -04:00
core_priv.h IB/core: Add RoCE GID table management 2015-08-30 18:08:50 -04:00
device.c IB/core: Remove needless bracketization 2015-08-30 18:12:21 -04:00
fmr_pool.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
iwcm.c RDMA/iwcm: Use a default listen backlog if needed 2014-08-05 07:33:24 -07:00
iwcm.h
iwpm_msg.c RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
iwpm_util.c RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
iwpm_util.h RDMA/core: Fixes for port mapper client registration 2015-07-14 13:20:10 -04:00
mad.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
mad_priv.h IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
mad_rmpp.c IB/mad: Add final OPA MAD processing 2015-06-12 14:49:18 -04:00
mad_rmpp.h RDMA: Remove subversion $Id tags 2008-07-14 23:48:44 -07:00
Makefile IB/core: Add RoCE GID table management 2015-08-30 18:08:50 -04:00
multicast.c IB/core: lock client data with lists_rwsem 2015-08-30 15:48:21 -04:00
netlink.c IB/core: Add rdma netlink helper functions 2015-08-30 18:12:25 -04:00
opa_smi.h IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
packer.c infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:35 -04:00
roce_gid_mgmt.c Changes for 4.3 2015-09-09 08:33:31 -07:00
sa.h
sa_query.c IB/sa: Fix rdma netlink message flags 2015-09-02 13:58:54 -04:00
smi.c IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
smi.h IB: Add rdma_cap_ib_switch helper and use where appropriate 2015-07-14 13:20:08 -04:00
sysfs.c IB/core: Make ib_alloc_device init the kobject 2015-08-30 18:08:50 -04:00
ucm.c IB/cm: Remove compare_data checks 2015-08-30 15:48:24 -04:00
ucma.c IB/ucma: HW Device hot-removal support 2015-08-30 18:12:41 -04:00
ud_header.c infiniband: add in export.h for files using EXPORT_SYMBOL/THIS_MODULE 2011-10-31 19:31:35 -04:00
umem.c IB/core: don't disallow registering region starting at 0x0 2015-04-15 16:05:02 -04:00
umem_odp.c IB/core: dma unmap optimizations 2015-05-05 09:18:02 -04:00
umem_rbtree.c IB/core: Implement support for MMU notifiers regarding on demand paging regions 2014-12-15 18:13:36 -08:00
user_mad.c IB/core: lock client data with lists_rwsem 2015-08-30 15:48:21 -04:00
uverbs.h IB/uverbs: Enable device removal when there are active user space applications 2015-08-30 18:12:40 -04:00
uverbs_cmd.c IB: split struct ib_send_wr 2015-10-08 11:09:10 +01:00
uverbs_main.c IB/uverbs: Enable device removal when there are active user space applications 2015-08-30 18:12:40 -04:00
uverbs_marshall.c IB/core: When marshaling uverbs path, clear unused fields 2014-09-22 09:46:52 -07:00
verbs.c Changes for 4.3 2015-09-09 08:33:31 -07:00