<div dir="ltr">+sachin.</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 27, 2016 at 11:23 AM, Raghavendra Gowdappa <span dir="ltr">&lt;<a href="mailto:rgowdapp@redhat.com" target="_blank">rgowdapp@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
----- Original Message -----<br>
&gt; From: &quot;Ric Wheeler&quot; &lt;<a href="mailto:rwheeler@redhat.com">rwheeler@redhat.com</a>&gt;<br>
&gt; To: &quot;Raghavendra Gowdappa&quot; &lt;<a href="mailto:rgowdapp@redhat.com">rgowdapp@redhat.com</a>&gt;, &quot;Saravanakumar Arumugam&quot; &lt;<a href="mailto:sarumuga@redhat.com">sarumuga@redhat.com</a>&gt;<br>
&gt; Cc: &quot;Gluster Devel&quot; &lt;<a href="mailto:gluster-devel@gluster.org">gluster-devel@gluster.org</a>&gt;, &quot;Ben Turner&quot; &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt;, &quot;Ben England&quot;<br>
&gt; &lt;<a href="mailto:bengland@redhat.com">bengland@redhat.com</a>&gt;<br>
&gt; Sent: Tuesday, September 27, 2016 10:51:48 AM<br>
&gt; Subject: Re: [Gluster-devel] libgfapi zero copy write - application in samba, nfs-ganesha<br>
&gt;<br>
&gt; On 09/27/2016 07:56 AM, Raghavendra Gowdappa wrote:<br>
&gt; &gt; +Manoj, +Ben turner, +Ben England.<br>
&gt; &gt;<br>
&gt; &gt; @Perf-team,<br>
&gt; &gt;<br>
&gt; &gt; Do you think the gains are significant enough, so that smb and nfs-ganesha<br>
&gt; &gt; team can start thinking about consuming this change?<br>
&gt; &gt;<br>
&gt; &gt; regards,<br>
&gt; &gt; Raghavendra<br>
&gt;<br>
&gt; This is a large gain but I think that we might see even larger gains (a lot<br>
&gt; depends on how we implement copy offload :)).<br>
<br>
</span>Can you elaborate on what you mean &quot;copy offload&quot;? If it is the way we avoid a copy in gfapi (from application buffer), following is the workflow:<br>
<br>
&lt;commit&gt;<br>
<br>
Work flow of zero copy write operation:<br>
------------------------------<wbr>--------<br>
<br>
1) Application requests a buffer of specific size. A new buffer is<br>
allocated from iobuf pool, and this buffer is passed on to application.<br>
   Achieved using &quot;glfs_get_buffer&quot;<br>
<br>
2) Application writes into the received buffer, and passes that to<br>
libgfapi, and libgfapi in turn passes the same buffer to underlying<br>
translators. This avoids a memcpy in glfs write<br>
   Achieved using &quot;glfs_zero_write&quot;<br>
<br>
3) Once the write operation is complete, Application must take the<br>
responsibilty of freeing the buffer.<br>
   Achieved using &quot;glfs_free_buffer&quot;<br>
<br>
&lt;/commit&gt;<br>
<br>
Do you&#39;ve any suggestions/improvements on this? I think Shyam mentioned an alternative approach (for zero-copy readv I think), let me look up at that too.<br>
<br>
regards,<br>
Raghavendra<br>
<div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; Worth looking at how we can make use of it.<br>
&gt;<br>
&gt; thanks!<br>
&gt;<br>
&gt; Ric<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt;&gt; From: &quot;Saravanakumar Arumugam&quot; &lt;<a href="mailto:sarumuga@redhat.com">sarumuga@redhat.com</a>&gt;<br>
&gt; &gt;&gt; To: &quot;Gluster Devel&quot; &lt;<a href="mailto:gluster-devel@gluster.org">gluster-devel@gluster.org</a>&gt;<br>
&gt; &gt;&gt; Sent: Monday, September 26, 2016 7:18:26 PM<br>
&gt; &gt;&gt; Subject: [Gluster-devel] libgfapi zero copy write - application in samba,<br>
&gt; &gt;&gt;    nfs-ganesha<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I have carried out &quot;basic&quot; performance measurement with zero copy write<br>
&gt; &gt;&gt; APIs.<br>
&gt; &gt;&gt; Throughput of zero copy write is 57 MB/sec vs default write 43 MB/sec.<br>
&gt; &gt;&gt; ( I have modified Ben England&#39;s gfapi_perf_test.c for this. Attached the<br>
&gt; &gt;&gt; same<br>
&gt; &gt;&gt; for reference )<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; We would like to hear how samba/ nfs-ganesha who are libgfapi users can<br>
&gt; &gt;&gt; make<br>
&gt; &gt;&gt; use of this.<br>
&gt; &gt;&gt; Please provide your comments. Refer attached results.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Zero copy in write patch: <a href="http://review.gluster.org/#/c/14784/" rel="noreferrer" target="_blank">http://review.gluster.org/#/c/<wbr>14784/</a><br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks,<br>
&gt; &gt;&gt; Saravana<br>
&gt;<br>
&gt;<br>
______________________________<wbr>_________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/<wbr>mailman/listinfo/gluster-devel</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Raghavendra G<br></div>
</div>