From: "Steve Wise" <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
To: 'Jason Gunthorpe'
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Cc: "'Hefty,
Sean'" <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"'Dalessandro,
Dennis'"
<dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
'Parav Pandit' <parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>,
'Leon Romanovsky' <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
'Doug Ledford' <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
Date: Mon, 12 Jun 2017 16:18:34 -0500 [thread overview]
Message-ID: <086401d2e3c1$72d54b20$587fe160$@opengridcomputing.com> (raw)
In-Reply-To: <20170612210259.GA25652-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
> On Mon, Jun 12, 2017 at 03:57:29PM -0500, Steve Wise wrote:
> > > > > When transmitter and receiver is enabled to do so, as I described in
> > > > overview section of Documentation, it helps
> > > > > (a) to avoid retransmission - improves network utilization
> > > > > (b) reduces latency due to timers not kicking in.
> > > >
> > > > Yes those benefits are clear. I see no reason why it shouldn't always
> > > > be
> > > > done is my point. Application shouldn't have to care and there is no
> > > > need to make this an additional flag.
> > >
> > > The app cares when data from write 2 can be written at the target before
data
> > > from write 1, especially if the writes target the same memory buffers.
(At least
> I
> > > think this is the intent of exposing this to the app.)
> > >
> > > Note that the provider can always provide stronger ordering than what the
app
> > > needs.
> >
> > My understanding is that IB or IW apps should never assume ingress
> > write or read response data is _placed_ into local memory in the
> > order it was transmitted from the peer. The only guarantee is that
> > the _indication_ of the arrived data preserve the sender's ordering.
> > However, I'm thinking that there are applications out there that
> > spin polling local memory that is the target of a write or read
> > response and assume the last bit of that memory will get written
> > last...
>
> That is with respect to the CPU, but IB requires strong ordering
> between messages within the same QP, eg if I do
>
> RDMA WRITE addr=0 data=1
> RDMA WRITE addr=0 data=2
> RDMA WRITE addr=0 data=3
> RDMA READ addr=0
>
> I must always get 3, not something else.
Correct, but the peer, ie the remote end that is the target of those writes, can
spin looking at local address 0 and it might see 1, 2, or 3. Eventually it will
see 3. But there is no guarantee that it will see 1 before 2 or even see 1 or 2
at all depending on timing.
But what I was getting at is this: Say you tell your peer to RDMA WRITE 16KB
into your local buffer. And let us say the last bit of that 16KB data will be a
1, and that the current value of that bit location in the local buffer is 0. It
is incorrect for the app to spin reading that bit until reads 1, and assume the
data prior to that bit has been placed at that point. At least with the iWARP
spec, out of order placement is allowed. So if the 16KB was broken into X iWARP
DDP segments, the last segment could have been placed before the other segments.
A correct application will require the peer to post a SEND after the WRITE or
WRITE_WITH_IMMEDIATE, and only know the data has been placed into the local
buffer when it polls the recv completion for the SEND or WRITE_W_IMMD. An iWARP
RNIC _must_ guarantee in-order delivery of data (but not actual placement). Am
I making sense?
I'm guessing no HCAs nor RNICs actually place data out of order. cxgb* does
not. So applications _might_ be doing the spin technique I described. I recall
a long time ago that MVAPICH2 did this. Not sure if it still does.
>
> It would be notable if this 'out of order' feature violated that
> invariant, but many ULPs would probably still be OK.
>
> Frankly, Parav's original message doesn't seem to describe at all what
> this is about, so maybe we should all wait until v2, and maybe more
> people from Mellanox could contribute to sensibly describing it if
> they want it in ibverbs.
>
> Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-06-12 21:18 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-12 6:49 [PATCH rdma-next 0/3] Support out of order data placement Leon Romanovsky
[not found] ` <20170612064918.12510-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2017-06-12 6:49 ` [PATCH rdma-next 1/3] IB/core: Expose out of order data placement capability Leon Romanovsky
2017-06-12 6:49 ` [PATCH rdma-next 2/3] IB/uverbs: Enable user space programs to use out of order placement Leon Romanovsky
2017-06-12 6:49 ` [PATCH rdma-next 3/3] IB/mlx5: Support out of order data placement Leon Romanovsky
2017-06-12 15:28 ` [PATCH rdma-next 0/3] " Bart Van Assche
[not found] ` <1497281280.2770.1.camel-Sjgp3cTcYWE@public.gmane.org>
2017-06-12 16:19 ` Parav Pandit
[not found] ` <VI1PR0502MB3008478FC7C70D1F398FE2B2D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 16:29 ` Bart Van Assche
[not found] ` <1497284956.2770.8.camel-Sjgp3cTcYWE@public.gmane.org>
2017-06-12 16:51 ` Parav Pandit
2017-06-12 16:29 ` Jason Gunthorpe
[not found] ` <20170612162917.GA11993-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 16:42 ` Parav Pandit
[not found] ` <VI1PR0502MB3008EA451DA9ECEBECE27362D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 16:43 ` Jason Gunthorpe
[not found] ` <20170612164343.GA12435-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 16:53 ` Parav Pandit
[not found] ` <VI1PR0502MB300831A1560531E67B29589DD1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 16:55 ` Jason Gunthorpe
[not found] ` <20170612165536.GB12435-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 17:11 ` Parav Pandit
[not found] ` <VI1PR0502MB30089EDC828A142338B1EE06D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 17:14 ` Jason Gunthorpe
[not found] ` <20170612171436.GA12739-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 17:28 ` Parav Pandit
[not found] ` <VI1PR0502MB3008304F8465C19ACCFF3D68D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 17:32 ` Jason Gunthorpe
[not found] ` <20170612173221.GA13302-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 17:46 ` Parav Pandit
[not found] ` <VI1PR0502MB30081FD74492E97043F45BD8D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 17:51 ` Jason Gunthorpe
2017-06-12 21:09 ` Tom Talpey
[not found] ` <6747e257-67b0-a364-be21-04f73ef82ffe-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-06-12 21:32 ` Parav Pandit
[not found] ` <VI1PR0502MB30080B672B80836FF0A328DCD1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 21:41 ` Jason Gunthorpe
[not found] ` <20170612214135.GB30578-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 21:59 ` Parav Pandit
[not found] ` <VI1PR0502MB30087762738A4E02A1DA24D0D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 22:07 ` Jason Gunthorpe
[not found] ` <20170612220730.GA32510-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 22:16 ` Parav Pandit
[not found] ` <VI1PR0502MB30088258D7BADC83B0609F38D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 22:21 ` Jason Gunthorpe
2017-06-12 22:19 ` Tom Talpey
[not found] ` <475e1873-e842-ecb9-d260-34777da57e51-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-06-12 22:54 ` Parav Pandit
[not found] ` <VI1PR0502MB3008B7FE60CAB3BD49907A1BD1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 23:44 ` Tom Talpey
[not found] ` <d3a436a0-9ace-b11a-2e4c-387fc575877e-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-06-12 23:59 ` Parav Pandit
[not found] ` <VI1PR0502MB3008E04612EED6BC83F37115D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-13 0:11 ` Tom Talpey
[not found] ` <fbdcf05b-ccd8-bd9c-c9c8-86f373303250-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-06-13 0:36 ` Parav Pandit
[not found] ` <VI1PR0502MB30089271EB542493AA58060CD1C20-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-13 1:30 ` Tom Talpey
[not found] ` <fb11f261-b80b-f71a-8076-204706267798-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-06-13 19:17 ` Jason Gunthorpe
2017-06-23 16:03 ` Parav Pandit
2017-07-19 5:33 ` Parav Pandit
[not found] ` <VI1PR0502MB3008D488FEE8A7104A7B0A7CD1A60-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-07-19 17:12 ` Jason Gunthorpe
[not found] ` <20170719171211.GB25714-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-20 15:06 ` Parav Pandit
2017-07-22 2:29 ` Tom Talpey
[not found] ` <142c2fed-baa5-1295-1458-be765c94b957-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-07-22 4:50 ` Parav Pandit
[not found] ` <VI1PR0502MB300886ED1B5B1363B55F53F0D1A50-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-07-22 5:03 ` Tom Talpey
[not found] ` <e5cee768-586c-516a-6056-ea4a44f89134-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-07-22 5:32 ` Parav Pandit
[not found] ` <VI1PR0502MB30089915EB792CD20CA9D179D1A50-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-07-22 14:51 ` Tom Talpey
[not found] ` <4444a96a-c1e6-ad33-204a-680982e19bfe-CLs1Zie5N5HQT0dZR+AlfA@public.gmane.org>
2017-07-22 15:11 ` Parav Pandit
2017-07-22 16:09 ` Jason Gunthorpe
[not found] ` <20170722160939.GA30007-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-07-22 17:32 ` Parav Pandit
[not found] ` <VI1PR0502MB3008E483BB36F944C2E212ACD1A50-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-07-22 21:27 ` Jason Gunthorpe
[not found] ` <20170722212706.GA14714-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-01 18:14 ` Parav Pandit
[not found] ` <VI1PR0502MB300871C35E1CC06EB378D6C8D1B30-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-08-01 19:00 ` Jason Gunthorpe
[not found] ` <20170801190052.GA31205-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-01 22:06 ` Parav Pandit
[not found] ` <VI1PR0502MB3008D65E9568764C4A781230D1B30-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-08-01 23:37 ` Jason Gunthorpe
[not found] ` <20170801233754.GB10239-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-08-02 0:30 ` Parav Pandit
[not found] ` <VI1PR0502MB300860BDA4E6BD0B10F5DB1ED1B00-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-08-02 2:48 ` Jason Gunthorpe
2017-06-27 9:47 ` Sagi Grimberg
2017-06-12 17:18 ` Steve Wise
2017-06-12 17:37 ` Parav Pandit
[not found] ` <VI1PR0502MB3008CE85A4F274886B74DF2BD1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 19:06 ` Dennis Dalessandro
[not found] ` <3fa7a4b5-5c19-8c6a-d78b-93219a9be888-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-06-12 19:19 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB142A9B-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-06-12 20:14 ` Parav Pandit
[not found] ` <VI1PR0502MB300885A1DD676E1649CDB268D1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 20:35 ` Dennis Dalessandro
[not found] ` <b5279c09-027f-e374-ffde-7f236c52322c-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2017-06-12 20:46 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB142BEC-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-06-12 20:57 ` Steve Wise
2017-06-12 21:02 ` Jason Gunthorpe
[not found] ` <20170612210259.GA25652-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 21:18 ` Steve Wise [this message]
2017-06-12 21:22 ` Jason Gunthorpe
2017-06-12 21:53 ` Parav Pandit
[not found] ` <VI1PR0502MB30082486BC3B1669FE48764ED1CD0-o1MPJYiShExKsLr+rGaxW8DSnupUy6xnnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-06-12 21:57 ` Jason Gunthorpe
[not found] ` <20170612215741.GA31693-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
2017-06-12 22:00 ` Parav Pandit
2017-06-13 5:29 ` Leon Romanovsky
2017-06-12 20:41 ` Hefty, Sean
[not found] ` <1828884A29C6694DAF28B7E6B8A82373AB142BC8-P5GAC/sN6hkd3b2yrw5b5LfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2017-06-12 21:25 ` Parav Pandit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='086401d2e3c1$72d54b20$587fe160$@opengridcomputing.com' \
--to=swise-7bpotxp6k4+p2yhjcf5u+vpxobypeauw@public.gmane.org \
--cc=dennis.dalessandro-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=idanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=parav-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \
--cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox