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>
Showing
- drivers/infiniband/core/agent.c 1 addition, 1 deletiondrivers/infiniband/core/agent.c
- drivers/infiniband/core/mad.c 20 additions, 20 deletionsdrivers/infiniband/core/mad.c
- drivers/infiniband/core/mad_priv.h 1 addition, 1 deletiondrivers/infiniband/core/mad_priv.h
- drivers/infiniband/core/uverbs_cmd.c 82 additions, 61 deletionsdrivers/infiniband/core/uverbs_cmd.c
- drivers/infiniband/hw/cxgb3/iwch_qp.c 18 additions, 18 deletionsdrivers/infiniband/hw/cxgb3/iwch_qp.c
- drivers/infiniband/hw/cxgb4/qp.c 21 additions, 25 deletionsdrivers/infiniband/hw/cxgb4/qp.c
- drivers/infiniband/hw/mlx4/mad.c 28 additions, 26 deletionsdrivers/infiniband/hw/mlx4/mad.c
- drivers/infiniband/hw/mlx4/mr.c 10 additions, 10 deletionsdrivers/infiniband/hw/mlx4/mr.c
- drivers/infiniband/hw/mlx4/qp.c 93 additions, 85 deletionsdrivers/infiniband/hw/mlx4/qp.c
- drivers/infiniband/hw/mlx5/mlx5_ib.h 6 additions, 0 deletionsdrivers/infiniband/hw/mlx5/mlx5_ib.h
- drivers/infiniband/hw/mlx5/mr.c 27 additions, 25 deletionsdrivers/infiniband/hw/mlx5/mr.c
- drivers/infiniband/hw/mlx5/qp.c 57 additions, 57 deletionsdrivers/infiniband/hw/mlx5/qp.c
- drivers/infiniband/hw/mthca/mthca_qp.c 42 additions, 42 deletionsdrivers/infiniband/hw/mthca/mthca_qp.c
- drivers/infiniband/hw/nes/nes_verbs.c 21 additions, 20 deletionsdrivers/infiniband/hw/nes/nes_verbs.c
- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c 27 additions, 26 deletionsdrivers/infiniband/hw/ocrdma/ocrdma_verbs.c
- drivers/infiniband/hw/qib/qib_keys.c 12 additions, 11 deletionsdrivers/infiniband/hw/qib/qib_keys.c
- drivers/infiniband/hw/qib/qib_qp.c 1 addition, 1 deletiondrivers/infiniband/hw/qib/qib_qp.c
- drivers/infiniband/hw/qib/qib_rc.c 20 additions, 18 deletionsdrivers/infiniband/hw/qib/qib_rc.c
- drivers/infiniband/hw/qib/qib_ruc.c 10 additions, 10 deletionsdrivers/infiniband/hw/qib/qib_ruc.c
- drivers/infiniband/hw/qib/qib_uc.c 2 additions, 2 deletionsdrivers/infiniband/hw/qib/qib_uc.c
Loading
Please register or sign in to comment