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. > > >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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
