On 7/22/2015 8:22 PM, Jason Gunthorpe wrote:
On Wed, Jul 22, 2015 at 09:55:39AM +0300, Sagi Grimberg wrote:
+enum ib_mr_flags {
+       IB_MR_MAP_ARB_SG = 1,
+};

Something about this just seems ugly. We are back to what we were
trying to avoid: Adding more types of MRs..

Is this really necessary? Do you really need to know the MR type when
the MR is created, or can the adaptor change types on the fly during
registration?

iSER for example has a rarely used corner case where it needs this,

I can tell you that its anything but a corner case. direct-io, bio
merges, FS operations and PI are examples where most of the sg lists
*will* be "gappy".

Trust me, it's fairly common to see those...

but it just turns on the feature unconditionally right away. This
incures 2x the overhead in the MR allocations and who knows what
performance impact on the adaptor side.

I ran various workloads with this, and performance seems to sustain.


It would be so much better if it could switch to this mode on a SG by
SG list basis.

It would, but unfortunately it can't.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to