On Wed, Oct 12, 2016 at 01:42:26PM -0400, Chuck Lever wrote: > I'm studying the way that the ->recvfrom and ->sendto calls work > for RPC-over-RDMA. > > The ->sendto path moves pages out of the svc_rqst before posting > I/O (RDMA Write and Send). Once the work is posted, ->sendto > returns, and looks like svc_rqst is released at that point. The > subsequent completion of the Send then releases those moved pages. > > I'm wondering if the transport can be simplified: instead of > moving pages around, ->sendto could just wait until the Write and > Send activity is complete, then return. The upper layer then > releases everything. I don't understand what problem you're trying to fix. Is "moving pages around" really especially complicated or expensive? --b. > > Another option would be for ->sendto to return a value that means > the transport will release the svc_rqst and pages. > > Or, the svc_rqst could be reference counted. > > Anyone have thoughts about this? > > -- > Chuck Lever > > > > -- > 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 -- 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