[ofa-general] which ofed-1.4 module ensure compliance with NSMR for having same size pbl entries?

Bill N ofedrnicuser at yahoo.com
Tue Aug 11 03:58:51 PDT 2009


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



      



More information about the general mailing list