[ofa-general] [PATCH RFC v3 1/2] RDMA/Core: MEM_MGT_EXTENSIONS support

Roland Dreier rdreier at cisco.com
Fri May 23 13:12:38 PDT 2008


 > Actually thinking about it, another possibility would be to wrap up the

 > newrkey = (mr->rkey & 0xffffff00) | newkey;

 > operation in a little inline helper function so people don't screw it
 > up.  Maybe that's the cleanest way to do it.

If we add a "key" field to the work request, then it seems too easy for
a consumer to forget to set it and end up passing uninitialized garbage.
If the consumer has to explicitly update the key when posting the work
request then that failure is avoided.

HOWEVER -- if we have the consumer update the key when posting the
operation, then there is the problem of what happens when the consumer
posts multiple fastreg work requests at once (ie fastreg, local inval,
new fastreg, etc. in a pipelined way).  Does the low-level driver just
take the the key value given when the WR is posted, even if there's a
new value there by the time the WR is executed?

 - R.



More information about the general mailing list