Re: [PATCH for-next 4/8] RDMA/erdma: Add address handle implementation

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

 



On Tue, Nov 26, 2024 at 02:59:10PM +0800, Boshi Yu wrote:
> The address handle contains the necessary information to transmit
> messages to a remote peer in the RoCEv2 protocol. This commit
> implements the erdma_create_ah(), erdma_destroy_ah(), and
> erdma_query_ah() interfaces, which are used to create, destroy,
> and query an address handle, respectively.
> 
> Signed-off-by: Boshi Yu <boshiyu@xxxxxxxxxxxxxxxxx>
> Reviewed-by: Cheng Xu <chengyou@xxxxxxxxxxxxxxxxx>
> ---
>  drivers/infiniband/hw/erdma/erdma.h       |   4 +-
>  drivers/infiniband/hw/erdma/erdma_hw.h    |  34 ++++++
>  drivers/infiniband/hw/erdma/erdma_main.c  |   4 +
>  drivers/infiniband/hw/erdma/erdma_verbs.c | 135 +++++++++++++++++++++-
>  drivers/infiniband/hw/erdma/erdma_verbs.h |  28 +++++
>  5 files changed, 203 insertions(+), 2 deletions(-)

<...>

> +static void erdma_av_to_attr(struct erdma_av *av, struct rdma_ah_attr *attr)
> +{
> +	attr->type = RDMA_AH_ATTR_TYPE_ROCE;
> +
> +	rdma_ah_set_sl(attr, av->sl);
> +	rdma_ah_set_port_num(attr, av->port);
> +	rdma_ah_set_ah_flags(attr, IB_AH_GRH);
> +
> +	rdma_ah_set_grh(attr, NULL, av->flow_label, av->sgid_index,
> +			av->hop_limit, av->traffic_class);
> +	rdma_ah_set_dgid_raw(attr, av->dgid);
> +}

<...>

> +int erdma_query_ah(struct ib_ah *ibah, struct rdma_ah_attr *ah_attr)
> +{
> +	struct erdma_ah *ah = to_eah(ibah);
> +
> +	memset(ah_attr, 0, sizeof(*ah_attr));
> +	erdma_av_to_attr(&ah->av, ah_attr);

This function is used only once and in this file. There is no need to
create useless indirection. The same comment applicable to other
functions as well.

Thanks




[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