Re: Re: Re: [[PATCH v2 for-next]] RDMA/siw: Fix SQ/RQ drain logic

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

 



On Fri, Oct 25, 2019 at 12:11:16PM +0000, Bernard Metzler wrote:
> -----"Jason Gunthorpe" <jgg@xxxxxxxx> wrote: -----
>
> >To: "Bernard Metzler" <BMT@xxxxxxxxxxxxxx>
> >From: "Jason Gunthorpe" <jgg@xxxxxxxx>
> >Date: 10/04/2019 07:48PM
> >Cc: "Leon Romanovsky" <leon@xxxxxxxxxx>, linux-rdma@xxxxxxxxxxxxxxx,
> >bharat@xxxxxxxxxxx, nirranjan@xxxxxxxxxxx, krishna2@xxxxxxxxxxx,
> >bvanassche@xxxxxxx
> >Subject: [EXTERNAL] Re: Re: [[PATCH v2 for-next]] RDMA/siw: Fix SQ/RQ
> >drain logic
> >
> >On Fri, Oct 04, 2019 at 02:09:57PM +0000, Bernard Metzler wrote:
> >> <...>
> >>
> >> >>   *
> >> >> @@ -705,6 +746,12 @@ int siw_post_send(struct ib_qp *base_qp,
> >const
> >> >struct ib_send_wr *wr,
> >> >>  	unsigned long flags;
> >> >>  	int rv = 0;
> >> >>
> >> >> +	if (wr && !qp->kernel_verbs) {
> >> >
> >> >It is not related to this specific patch, but all siw
> >"kernel_verbs"
> >> >should go, we have standard way to distinguish between kernel and
> >> >user
> >> >verbs.
> >> >
> >> >Thanks
> >> >
> >> Understood. I think we touched on that already.
> >> rdma core objects have a uobject pointer which
> >> is valid only if it belongs to a user land
> >> application. We might better use that.
> >
> >No, the uobject pointer is not to be touched by drivers
> >
> Now what would be the appropriate way of remembering/
> detecting user level nature of endpoint resources?
> I see drivers _are_ doing 'if (!ibqp->uobject)' ...

IMHO, you should rely in "udata" to distinguish user/kernel objects.

>
> Other drivers keep it with the private state, like iw40,
> but I learned we shall get rid of it.
>
> We may export an inline query from RDMA core, or simply
> #define is_usermode(ib_obj *) (ib_obj->uobject != NULL)
> ?
>
> Thanks and best regards,
> Bernard
>



[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