RE: [PATCH rdma-next 0/3] Support out of order data placement

Parav Pandit
2017-07-20T15:06:20Z

Hi Jason,

> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org]
> Sent: Wednesday, July 19, 2017 12:12 PM
> To: Parav Pandit <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Cc: Tom Talpey <tom-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>; Bart Van Assche
> <Bart.VanAssche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>; leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org; dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org;
> linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Idan Burstein <idanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>
> Subject: Re: [PATCH rdma-next 0/3] Support out of order data placement
>
> On Wed, Jul 19, 2017 at 05:33:52AM +0000, Parav Pandit wrote:
>
> > It does guarantee that writes don't bypass writes and reads don't bypass reads
> (Table 79), and transport operations are executed in their *message* order (C9-
> 28):
> > "A responder shall execute SEND requests, RDMA WRITE requests and
> > ATOMIC Operation requests in the message order in which they are
> > received."
>
> At a minimum, you need to include a version of table 79 in your documentation
> that reflects the modified WR ordering rules for this mode,
Sure. In fact I had it in internal version before posting upstream, but dropped for some reason.
I will add it in v1.

> and I'm not sure we
> should continue to call this thing a 'RC QP'
1. None of the Reliability property is affected with this optional attribute. So it is still RC QP.

> at all to avoid so much confusion.
All this details we discussed our email will be described in documentation v1 to avoid confusion.

> I recommend you rework this patch series to introduce a relaxed RC QP type
> instead of using a flag..
Additionally,
2. It doesn't make sense to introduce 3 more relaxed QP type (RC, XRC initiator, target) for one common attribute among them.
3. New QP type makes it more difficult or impossible to make rdmacm work in future.
Active side creates the QP and shared parameters through REQ-RSP messages.
Such existing interface would just become impossible to make use of.
This attribute is similar to MTU, IRD/ORD etc.
I prefer to keep it as optional QP attribute that brings simplicity and it is extendible compare to new QP type.