[ofa-general] [PATCH RFC v3 1/2] RDMA/Core: MEM_MGT_EXTENSIONS support
Or Gerlitz
ogerlitz at voltaire.com
Tue May 20 01:03:40 PDT 2008
Steve Wise wrote:
> Support for the IB BMME and iWARP equivalent memory extensions to
> non shared memory regions. Usage Model:
> - MR allocated with ib_alloc_mr()
> - Page lists allocated via ib_alloc_fast_reg_page_list().
> - MR made VALID and bound to a specific page list via ib_post_send(IB_WR_FAST_REG_MR)
> - MR made INVALID via ib_post_send(IB_WR_INVALIDATE_MR)
Steve,
I am trying to further understand what would be a real life ULP design
here, and I think there are some more issues to clarify/define for the
case of ULP which has to create a mapping for a list of pages and send
this mapping (eg IB/rkey iWARP/stag) to a remote party that uses it for
RDMA.
AFAIK, the idea was to let the ulp post --two-- work requests, where the
first creates the mapping and the second sends this mapping to the
remote side, such that the second does not start before the first
completes (i.e a fence).
Now, the above scheme means that the ulp knows the value of the
rkey/stag at the time of posting these two work requests (since it has
to encode it in the second one), so something has to be clarified re the
rkey/stag here, do they change each time this MR is used? how many bits
can be changed, etc.
I guess my questions are to some extent RTFM ones, but, first, with some
quick looking in the IB spec I did not manage to get enough answers
(pointers appreciated...) and second, you are proposing an
implementation here, so I think it makes sense to review the actual
usage model to see all aspects needed for ULPs are covered...
Talking on usage, do you plan to patch the mainline nfs-rdma code to use
these verbs?
Or.
> - MR deallocated with ib_dereg_mr()
> - page lists dealloced via ib_free_fast_reg_page_list()
More information about the general
mailing list