On Mon, 2019-02-04 at 19:50 +-0200, Max Gurtovoy wrote: +AD4 PI offload (protection information) is a feature that each RDMA provider +AD4 can implement differently. Thus, introduce new device attribute to define +AD4 the maximal length of the page list for PI fast registration operation. For +AD4 example, mlx5 driver uses a single internal MR to map both data and +AD4 protection SGL's, so it's equal to max+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len / 2. +AD4 +AD4 Signed-off-by: Max Gurtovoy +ADw-maxg+AEA-mellanox.com+AD4 +AD4 Reviewed-by: Leon Romanovsky +ADw-leonro+AEA-mellanox.com+AD4 +AD4 --- +AD4 drivers/infiniband/hw/mlx5/main.c +AHw 2 +-+- +AD4 include/rdma/ib+AF8-verbs.h +AHw 1 +- +AD4 2 files changed, 3 insertions(+-) +AD4 +AD4 diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c +AD4 index c4b2d9db5d07..3460c764e341 100644 +AD4 --- a/drivers/infiniband/hw/mlx5/main.c +AD4 +-+-+- b/drivers/infiniband/hw/mlx5/main.c +AD4 +AEAAQA -912,6 +-912,8 +AEAAQA static int mlx5+AF8-ib+AF8-query+AF8-device(struct ib+AF8-device +ACo-ibdev, +AD4 props-+AD4-max+AF8-srq+AF8-sge +AD0 max+AF8-rq+AF8-sg - 1+ADs +AD4 props-+AD4-max+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len +AD0 +AD4 1 +ADwAPA MLX5+AF8-CAP+AF8-GEN(mdev, log+AF8-max+AF8-klm+AF8-list+AF8-size)+ADs +AD4 +- props-+AD4-max+AF8-pi+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len +AD0 +AD4 +- props-+AD4-max+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len / 2+ADs +AD4 get+AF8-atomic+AF8-caps+AF8-qp(dev, props)+ADs +AD4 props-+AD4-masked+AF8-atomic+AF8-cap +AD0 IB+AF8-ATOMIC+AF8-NONE+ADs +AD4 props-+AD4-max+AF8-mcast+AF8-grp +AD0 1 +ADwAPA MLX5+AF8-CAP+AF8-GEN(mdev, log+AF8-max+AF8-mcg)+ADs +AD4 diff --git a/include/rdma/ib+AF8-verbs.h b/include/rdma/ib+AF8-verbs.h +AD4 index 75b470e1120e..48bb29a805cf 100644 +AD4 --- a/include/rdma/ib+AF8-verbs.h +AD4 +-+-+- b/include/rdma/ib+AF8-verbs.h +AD4 +AEAAQA -364,6 +-364,7 +AEAAQA struct ib+AF8-device+AF8-attr +AHs +AD4 int max+AF8-srq+AF8-wr+ADs +AD4 int max+AF8-srq+AF8-sge+ADs +AD4 unsigned int max+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len+ADs +AD4 +- unsigned int max+AF8-pi+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len+ADs +AD4 u16 max+AF8-pkeys+ADs +AD4 u8 local+AF8-ca+AF8-ack+AF8-delay+ADs +AD4 int sig+AF8-prot+AF8-cap+ADs I think it would be helpful to add a comment above struct ib+AF8-device+AF8-attr that explains the meaning of max+AF8-pi+AF8-fast+AF8-reg+AF8-page+AF8-list+AF8-len. Thanks, Bart.