> I have got a report on failure to create FMR mapping 1K pages (that is
> 4MB) on memfree.
> I don't have the exact details (ie if Arbel/Sinai / what FW / etc)
> nor which exact check fails in
> mthca_fmr_alloc, but what's clear is that the latter function returns
> -ENOMEM when attr.max_pages is 1024 and it works fine when
> attr.max_pages is 256.
> Is this failure clear to you? if yes, does a HW or FW limit is being
> hit or its a driver design issue?
Is it really returning -ENOMEM? It seems much more likely that you
are hitting the code
/* For Arbel, all MTTs must fit in the same page. */
if (mthca_is_memfree(dev) &&
mr->attr.max_pages * sizeof *mr->mem.arbel.mtts > PAGE_SIZE)
I guess you could call this limit a driver design issue.