Re: [PATCH for-next 12/27] IB/core: Change port_attr.sm_lid from 16 to 32 bits

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

 



On Sun, Aug 06, 2017 at 11:18:57AM +0300, Leon Romanovsky wrote:
> On Fri, Aug 04, 2017 at 01:53:21PM -0700, Dennis Dalessandro wrote:
> > From: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx>
> >
> > sm_lid field in struct ib_port_attr is increased to 32 bits. This
> > enables core components to use larger LIDs if needed.
> > The user ABI is unchanged and return 16 bit values when queried.
> >
> > Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@xxxxxxxxx>
> > Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> > Signed-off-by: Don Hiatt <don.hiatt@xxxxxxxxx>
> > Signed-off-by: Dennis Dalessandro <dennis.dalessandro@xxxxxxxxx>
> > ---
> >  drivers/infiniband/core/uverbs_cmd.c |    8 +++++---
> >  include/rdma/ib_verbs.h              |    2 +-
> >  2 files changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/infiniband/core/uverbs_cmd.c b/drivers/infiniband/core/uverbs_cmd.c
> > index 7ef74b0..38dce45 100644
> > --- a/drivers/infiniband/core/uverbs_cmd.c
> > +++ b/drivers/infiniband/core/uverbs_cmd.c
> > @@ -275,11 +275,13 @@ ssize_t ib_uverbs_query_port(struct ib_uverbs_file *file,
> >  	resp.bad_pkey_cntr   = attr.bad_pkey_cntr;
> >  	resp.qkey_viol_cntr  = attr.qkey_viol_cntr;
> >  	resp.pkey_tbl_len    = attr.pkey_tbl_len;
> > -	resp.sm_lid 	     = attr.sm_lid;
> > -	if (rdma_cap_opa_ah(ib_dev, cmd.port_num))
> > +	if (rdma_cap_opa_ah(ib_dev, cmd.port_num)) {
> >  		resp.lid  = OPA_TO_IB_UCAST_LID(attr.lid);
> > -	else
> > +		resp.sm_lid  = OPA_TO_IB_UCAST_LID(attr.sm_lid);
> > +	} else {
> >  		resp.lid     = (u16)attr.lid;
> > +		resp.sm_lid  = (u16)attr.sm_lid;
>
> I see that lid is already has casting from u32 to u16 and now it is sm_lid.
> Do we have more elegant way to achieve that? And comment for future
> developers can be good too.

I see now, you changed lid in patch 11. The same comment there.

>
> > +	}
> >  	resp.lmc 	     = attr.lmc;
> >  	resp.max_vl_num      = attr.max_vl_num;
> >  	resp.sm_sl 	     = attr.sm_sl;
> > diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> > index 4eccf89..5f4f2d3 100644
> > --- a/include/rdma/ib_verbs.h
> > +++ b/include/rdma/ib_verbs.h
> > @@ -549,7 +549,7 @@ struct ib_port_attr {
> >  	u32			bad_pkey_cntr;
> >  	u32			qkey_viol_cntr;
> >  	u16			pkey_tbl_len;
> > -	u16			sm_lid;
> > +	u32			sm_lid;
> >  	u32			lid;
> >  	u8			lmc;
> >  	u8			max_vl_num;
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html


Attachment: signature.asc
Description: PGP signature


[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