>  > static void ib_update_fast_reg_key(struct ib_mr *mr, u8 newkey)
 >  > {
 >  >   /* iWARP: rkey == lkey */
 > 
 > actually I need to reread the IB spec and understand how the consumer
 > key part of L_Key and R_Key is supposed to work... for Mellanox adapters
 > at least the L_Key and R_Key are the same too.
 > 
 >  >   if (mr->rkey == mr->lkey)
 >  >           mr->lkey = mr->lkey & 0xffffff00 | newkey;
 >  >   mr->rkey = mr->rkey & 0xffffff00 | newkey;
 >  > }

I just looked in the IB spec (1.2.1) and it talks about passing the "Key
to use on the new L_Key and R_Key" into a fastreg work request.

So I think we can just can the test for rkey==lkey and just do

        mr->lkey = mr->lkey & 0xffffff00 | newkey;
        mr->rkey = mr->rkey & 0xffffff00 | newkey;

 - R.
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to