[ofa-general] [PATCH RFC v3 1/2] RDMA/Core: MEM_MGT_EXTENSIONS support
Tom Tucker
tom at opengridcomputing.com
Tue May 27 08:33:37 PDT 2008
On Mon, 2008-05-26 at 16:02 -0700, Roland Dreier wrote:
> > The "invalidate local stag" part of a read is just a local sink side
> > operation (ie no wire protocol change from a read). It's not like
> > processing an ingress send-with-inv. It is really functionally like a
> > read followed immediately by a fenced invalidate-local, but it doesn't
> > stall the pipe. So the device has to remember the read is a "with inv
> > local stag" and invalidate the stag after the read response is placed
> > and before the WCE is reaped by the application.
>
> Yes, understood. My point was just that in IB, at least in theory, one
> could just use an L_Key that doesn't have any remote permissions in the
> scatter list of an RDMA read, while in iWARP, the STag used to place an
> RDMA read response has to have remote write permission. So RDMA read
> with invalidate makes sense for iWARP, because it gives a race-free way
> to allow an STag to be invalidated immediately after an RDMA read
> response is placed, while in IB it's simpler just to never give remote
> access at all.
>
So I think from an NFSRDMA coding perspective it's a wash...
When creating the local data sink, We need to check the transport type.
If it's IB --> only local access,
if it's iWARP --> local + remote access.
When posting the WR, We check the fastreg capabilities bit + transport type bit:
If fastreg is true -->
Post FastReg
If iWARP (or with a cap bit read-with-inv-flag)
post rdma read w/ invalidate
else /* IB */
post rdma read
post invalidate
fi
else
... today's logic
fi
I make the observation, however, that the transport type is now overloaded
with a set of required verbs. For iWARP's case, this means rdma-read-w-inv,
plus rdma-send-w-inv, etc... This also means that new transport types will
inherit one or the other set of verbs (IB or iWARP).
Tom
> - R.
> _______________________________________________
> general mailing list
> general at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
More information about the general
mailing list