[Gluster-devel] zero-copy readv
anand.avati at gmail.com
Tue Jan 22 01:39:10 UTC 2013
On Sun, Jan 20, 2013 at 8:16 PM, Bharata B Rao <bharata.rao at gmail.com>wrote:
> On Thu, Jan 10, 2013 at 11:55 AM, Anand Avati <aavati at redhat.com> wrote:
> > - On the read side things are a little more complicated. In
> > rpc-transport/socket, there is a call to iobuf_get() to create a new
> > for reading in the readv reply data from the server. We will need a
> > framework changes where, if the readv request (of the xid for which readv
> > reply is being handled) happened to be a "direct" variant (i.e,
> > then the "special iobuf around user's memory" gets picked up and read()
> > socket is performed directly into user's memory. Similar, but equivalent,
> AFAICS, the read from the socket is always done to a single buffer and
> the actual "scatter input" (reading or copying into multiple user supplied
> iovec buffer) is actually done at the end in libgfapi. So as you note, some
> framework changes need to be done to enable direct reading of socket data
> multiple user supplied buffers.
Right. Those are all (the kind of) details to be taken care of.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Gluster-devel