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