Re: [RDMA PATCH 13/16] i40iw: Add base memory management extensions

Christoph Hellwig
2016-04-12T14:07:39Z

> @@ -4570,6 +4629,7 @@ static struct i40iw_priv_qp_ops iw_priv_qp_ops = {
> i40iw_sc_send_lsmm_nostag,
> i40iw_sc_send_rtt,
> i40iw_sc_post_wqe0,
> + i40iw_sc_mr_fast_register,

Just noticed this while looking for an implementation of your
iw_mr_fast_register method:

please always use named initializers for structs that have meaning
outside a single file, it makes grepping so much easier.

> static struct i40iw_priv_cq_ops iw_priv_cq_ops = {
> diff --git a/drivers/infiniband/hw/i40iw/i40iw_type.h b/drivers/infiniband/hw/i40iw/i40iw_type.h
> index 5b6a491..c926198 100644
> --- a/drivers/infiniband/hw/i40iw/i40iw_type.h
> +++ b/drivers/infiniband/hw/i40iw/i40iw_type.h
> @@ -1041,6 +1041,9 @@ struct i40iw_priv_qp_ops {
> void (*qp_send_lsmm_nostag)(struct i40iw_sc_qp *, void *, u32);
> void (*qp_send_rtt)(struct i40iw_sc_qp *, bool);
> enum i40iw_status_code (*qp_post_wqe0)(struct i40iw_sc_qp *, u8);
> + enum i40iw_status_code (*iw_mr_fast_register)(struct i40iw_sc_qp *,
> + struct i40iw_fast_reg_stag_info *,
> + bool);
> };

And while we're at it: what's the point of the indirection to start
with?