Hi,

I am trying to figure out which module (usr/kernel) ensures the compliance with 
RDMA iWarp verb specification 9.2.6.2 (Register Non-Shared MR)?

ibv_reg_mr() of libibverbs takes address and length.
So someone has to ensure that given address-length region(s) are exactly 
divided in to the small same size regions before it reaches the lowest layer 
iwarp/ib drivers. (I guess thats page size!)

After looking at ib_uverbs_reg_mr() below

if ((cmd.start & ~PAGE_MASK) != (cmd.hca_va & ~PAGE_MASK))
         return -EINVAL;

Looks like this is achieved by having page aligned start address.
As start address is page aligned all the incoming blocks of memory will be of 
same size (provided length is multiple of page size).

1. Is caller of the ibv_reg_mr() should ensure that it allocates page aligned 
memory?

2. Should caller of ibv_reg_mr() ensure that length always multiple of page 
size?

3. Assuming yes, to Q-2, which function/module in the kernel checks that length 
is multiple of page size?

Regards,
Bill



      
_______________________________________________
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