On 7/11/2015 6:25 AM, 'Christoph Hellwig' wrote:
I think what we need to support for now is FRMR as the primary target, and FMR as a secondar[y].
FMR is a *very* bad choice, for several reasons. 1) It's not supported by very many devices, in fact it might even be thought to be obsolete. 2) It does not protect on byte boundaries, therefore it is unsafe to use for anything but page-sized, page-aligned RDMA operations. 3) It is a synchronous API, i.e. it is not work-request based and therefore is not very high performance. 4) It sometimes is used with a "pool", which defers deregistration in the hopes of amortizing overhead. However, this deferral further increases the risk of remote access, including altering of memory contents after the fact. Personally, I'd recommend ib_get_phys_mr() over FMR. It at least doesn't suffer from issues 1, 2 and 4. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html