Re: [PATCH 0/5] Indirect memory registration feature
From: Christoph Hellwig <hidden>
Date: 2015-06-08 13:51:51
On Mon, Jun 08, 2015 at 04:39:23PM +0300, Sagi Grimberg wrote:
I have learned about QUEUE_FLAG_SG_GAPS from your recent comments on the list. Won't setting this flag interfere with bio merges?
It would if any in-kernel consumer would actually generate such SG lists. But none does - the only source is vectored SG_IO support.
Ideally I wouldn't want to restrict merges if my device supports this feature.quoted
Right now drivers tat set these would always fail SG_IO ioctls using iovecs, but that can be fixed much more easily by doing high level bounce buffering compared to these horrible workarounds deep down in the stack.My tests have shown significant cpu savings with this against SW bounce buffering, especially for large transfers. I've seen applications that a significant part of their IO workload consists of this type of memory layout. I must say that I've always considered SW bounce buffering as a work-around for an RDMA driver.
bounce buffering is always a workaround, and offloading it to silicone just makes it a worse hack. So please fix it in the proper layers first, and if you really care about the vectored SG_IO case use your indirect registrations just for that. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html