Hi Jason,
Let me clarify the place holder reservation mentioned in the cover letter.
The entries I was referring to are not proprietary vendor verbs but
rather user space
verbs who are on their way to be submitted upstream for inclusion in
libibverbs/libmlx4.
Two of these verbs are the userspace API for Flow-Steering whose kernel
part (as you know)
is under review in linux-rdma. These verbs are
ibv_create_flow/ibv_destroy_flow which
serve to attach and detach a QPs to/from flows, using flow
specification. The third
verb deals with registration of shared-memory, details below.
Each verb consumes two pointers, one for the verbs library code and one
for provider
specific library implementation, total of six pointers.
I think we all agree that the current milestone to meet w.r.t to verbs
extensions is
to have the basic extensions mechanism AND XRC patches merged.
On the other hand, RAW Ethernet QPs are merged upstream (kernel + user
space) but without
upstream mechanism to actually receive traffic on them which makes them
pretty much useless.
So in that respect, it would make sense for us as vendor to provide
customers through
mellanox ofed the means to use them. What asked now is to reserve the
pointers, no more.
As for the Shared-MR, indeed it would have been fair to require
submitting this
code prior to the pointer reservation, so for next time...
To sum up, we think it would be constructive step to continue with this
series while reserving the six pointers,
or if this really helps submit for review the libibverbs part of those
verbs along with the basic verbs extensions patches.
What do you think ?
By the way I'm OOO for a week starting 16/7.
Yishai
New verb, "Register Shared Memory Region”: this verb is defined in the
IB spec, section 11.2.8.8.
“Given an existing Memory Region, a new independent Memory Region
associated with the same physical memory locations is created by that
new verb.
Through repeated calls to the Verb, an arbitrary number of Memory
Regions can potentially share the same physical memory locations.
The memory region created by this verb behaves identically to memory
regions created by the other memory registration verbs.”
In general sharing MR involves 2 steps:
1) Using the regular mechanism to create a Memory Region, application
can mention that MR should be created with a later option to be shared.
The application will supply the allowed sharing access to that MR.
2) Using the “Register Shared MR” to register to the pre-allocated
shared MR.
On 7/11/2013 8:07 PM, Jason Gunthorpe wrote:
On Thu, Jul 11, 2013 at 06:04:16PM +0300, Yishai Hadas wrote:
ABI support with OFED release, added place holder for 6 function pointers
in verbs_context to enable ABI compatibility with OFED release that already
used 6 extended verbs before XRC.
WTF !?!
The extension mechanism is NOT A TOY.
IT IS NOT FOR VENDORS TO USE.
Extension ids must be allocated at upstream, by Roland.
If you deviate from upstream you *MUST* change the ibverbs SONAME.
PERIOD.
What version of OFA OFED did this? This is a violation of the new
upstream first policy at OFA!
So, I'm going to NAK this. It sets an exceedingly bad precedent going
forward.
Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html