Re: [PATCH rdma-next 09/14] RDMA: Add a dedicated QP resource tracker function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 13, 2020 at 12:50:29PM +0300, Leon Romanovsky wrote:
> From: Maor Gottlieb <maorg@xxxxxxxxxxxx>
> 
> In order to avoid double multiplexing of the resource when it's QP,
> add a dedicated callback function.
> 
> Signed-off-by: Maor Gottlieb <maorg@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
>  drivers/infiniband/core/device.c       | 1 +
>  drivers/infiniband/core/nldev.c        | 2 +-
>  drivers/infiniband/core/restrack.c     | 2 ++
>  drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 +
>  drivers/infiniband/hw/cxgb4/restrack.c | 5 +----
>  include/rdma/ib_verbs.h                | 1 +
>  6 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/device.c
> index 1f9f44e62e49..23af3cc27ee1 100644
> +++ b/drivers/infiniband/core/device.c
> @@ -2619,6 +2619,7 @@ void ib_set_device_ops(struct ib_device *dev, const struct ib_device_ops *ops)
>  	SET_DEVICE_OP(dev_ops, fill_res_cq_entry);
>  	SET_DEVICE_OP(dev_ops, fill_res_entry);
>  	SET_DEVICE_OP(dev_ops, fill_res_mr_entry);
> +	SET_DEVICE_OP(dev_ops, fill_res_qp_entry);
>  	SET_DEVICE_OP(dev_ops, fill_stat_mr_entry);
>  	SET_DEVICE_OP(dev_ops, get_dev_fw_str);
>  	SET_DEVICE_OP(dev_ops, get_dma_mr);
> diff --git a/drivers/infiniband/core/nldev.c b/drivers/infiniband/core/nldev.c
> index 6207b68453a1..8c748888bf28 100644
> +++ b/drivers/infiniband/core/nldev.c
> @@ -499,7 +499,7 @@ static int fill_res_qp_entry(struct sk_buff *msg, bool has_cap_net_admin,
>  	if (fill_res_name_pid(msg, res))
>  		goto err;
>  
> -	return dev->ops.fill_res_entry(msg, res);
> +	return dev->ops.fill_res_qp_entry(msg, qp);
>  
>  err:	return -EMSGSIZE;
>  }
> diff --git a/drivers/infiniband/core/restrack.c b/drivers/infiniband/core/restrack.c
> index 031a4f94400e..33d7c0888753 100644
> +++ b/drivers/infiniband/core/restrack.c
> @@ -29,11 +29,13 @@ static int fill_res_dummy(struct sk_buff *msg,
>  
>  FILL_DUMMY(mr);
>  FILL_DUMMY(cq);
> +FILL_DUMMY(qp);

Lists of things should be sorted

>  static const struct ib_device_ops restrack_dummy_ops = {
>  	.fill_res_cq_entry = fill_res_cq,
>  	.fill_res_entry = fill_res_dummy,
>  	.fill_res_mr_entry = fill_res_mr,
> +	.fill_res_qp_entry = fill_res_qp,
>  	.fill_stat_mr_entry = fill_res_mr,
>  };

Here too

I'm also not sure the FILL_DUMMY obfuscation is worthwhile for 3
functions.

> @@ -2571,6 +2571,7 @@ struct ib_device_ops {
>  			      struct rdma_restrack_entry *entry);
>  	int (*fill_res_mr_entry)(struct sk_buff *msg, struct ib_mr *ibmr);
>  	int (*fill_res_cq_entry)(struct sk_buff *msg, struct ib_cq *ibcq);
> +	int (*fill_res_qp_entry)(struct sk_buff *msg, struct ib_qp *ibqp);

Sorted too

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux