<div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Sep 21, 2018 at 11:25 PM Raghavendra Gowdappa <<a href="mailto:rgowdapp@redhat.com">rgowdapp@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hi all,<br><br></div>We've
a feature performance.parallel-readdir [1] that is known to improve
performance of readdir operations [2][3][4]. The option is especially
useful when distribute scale is relatively large (>10) and is known
to improve performance of readdir operations even on smaller scale of
distribute count 1 [4].<br><br></div><div>However, this option is not enabled by default. I am here proposing to make this as a default feature.<br><br></div><div>But,
there are some important things to be addressed in readdir-ahead (which
is core part of parallel-readdir), before we can do so:<br><br>To summarize issues with readdir-ahead:<div>* There
seems to be one prominent problem of missing dentries with
parallel-readdir. There was one problem discussed on tech-list just
yesterday. I've heard about this recurrently earlier too. Not sure
whether this is the problem of missing unlink/rmdir/create etc fops (see
below) in readdir-ahead. ATM, no RCA.<br><div>* fixes to maintain stat-consistency in dentries pre-fetched have not made into downstream yet (though merged upstream [5]).<br></div><div>*
readdir-ahead doesn't implement directory modification fops like
rmdir/create/symlink/link/unlink/rename. This means cache won't be
updated wiith newer content, even on single mount till its
consumed by application or purged.<br></div>* dht linkto-files should
store relative positions of subvolumes instead of absolute subvolume
name, so that changes to immediate child won't render them stale.<br></div><div>*
Features parallel-readdir depends on to be working should be enabled
automatically even though they were off earlier when parallel-readdir is
enabled [6].<br> </div></div><div dir="ltr"><br>I've listed important known issues above. But we can discuss which are the blockers for making this feature as a default.<br><br>Thoughts?<br><br>[1] <a href="http://review.gluster.org/#/c/16090/" target="_blank">http://review.gluster.org/#/c/16090/</a><br>[2] <a href="https://events.static.linuxfound.org/sites/events/files/slides/Gluster_DirPerf_Vault2017_0.pdf" target="_blank">https://events.static.linuxfound.org/sites/events/files/slides/Gluster_DirPerf_Vault2017_0.pdf</a> (sections on small directory)<br>[3] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1628807#c34" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1628807#c35</a><br>[4] <a href="https://www.spinics.net/lists/gluster-users/msg34956.html" target="_blank">https://www.spinics.net/lists/gluster-users/msg34956.html</a><br>[5] <a href="http://review.gluster.org/#/c/glusterfs/+/20639/" target="_blank">http://review.gluster.org/#/c/glusterfs/+/20639/</a><br>[6] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1631406" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1631406</a><br><br></div><div>regards,<br></div><div>Raghavendra<div class="m_-8138401908363784576gmail-adL"><br></div></div></div></div></div></div></div></div></div>
</blockquote></div>