Re: [PATCH for-next] RDMA/hns: Update the kernel header file of hns

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

 



On Tue, Jan 22, 2019 at 03:00:15PM +0800, oulijun wrote:
> 在 2019/1/22 11:57, Jason Gunthorpe 写道:
> > On Tue, Jan 22, 2019 at 11:36:02AM +0800, oulijun wrote:
> >> 在 2019/1/22 10:23, Jason Gunthorpe 写道:
> >>> On Tue, Jan 22, 2019 at 10:23:34AM +0800, Lijun Ou wrote:
> >>>> The hns_roce_ib_create_srq_resp is used to interact with the
> >>>> user for data. As a result, it is added to apply with matching
> >>>> kernel headers.
> >>>>
> >>>> Signed-off-by: Lijun Ou <oulijun@xxxxxxxxxx>
> >>>>  include/uapi/rdma/hns-abi.h | 5 +++++
> >>>>  1 file changed, 5 insertions(+)
> >>>>
> >>>> diff --git a/include/uapi/rdma/hns-abi.h b/include/uapi/rdma/hns-abi.h
> >>>> index ef3c7ec..eb76b38 100644
> >>>> +++ b/include/uapi/rdma/hns-abi.h
> >>>> @@ -52,6 +52,11 @@ struct hns_roce_ib_create_srq {
> >>>>  	__aligned_u64 que_addr;
> >>>>  };
> >>>>  
> >>>> +struct hns_roce_ib_create_srq_resp {
> >>>> +	__u32	srqn;
> >>>> +	__u32	reserved;
> >>>> +};
> >>>> +
> >>> This makes no sense, how can uapi headers be added without adding a
> >>> corresponding kernel code!?!?! What fills in srqn?
> >>>
> >>> Jason
> >> The srqn will be obtained from hns_roce_bitmap_alloc in the kernel mode.  When create srq, it need to
> >> transfer srqn to user by ib_copy_to_udata function. 
> > The srqn is part of the ib_uverbs_create_srq_resp, it has nothing to
> > do with hns_roce_ib_create_srq_resp.
> >
> >> the ofed will report srqn by ib_uverbs_create_srq_resp,
> >> nextly, the user will use it by resp.srqn when run  hns_roce_u_create_srq function.
> >> cmdof hns_roce_create_srq need be declared by DECLARE_DRV_CMD.  
> > What?
> >
> >> for example,
> >>      DECLARE_DRV_CMD(hns_roce_create_srq,
> >>      IB_USER_VERBS_CMD_CREATE_SRQ, hns_roce_ib_create_srq,
> >>      hns_roce_ib_create_srq_resp);
> > Are you sure this shouldn't be 
> >
> >       DECLARE_DRV_CMD(hns_roce_create_srq,
> >             IB_USER_VERBS_CMD_CREATE_SRQ, hns_roce_ib_create_srq,
> > 	    empty);
> >
> > ?
> >
> > Jason
> Yes. It will build fail and prompt hns_roce_create_srq_resp has no member named srqn information.

you can't introduce a struct that is never written too, it makes no
sense.

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