[Bugs] [Bug 1478411] Directory listings on fuse mount are very slow due to small number of getdents () entries

bugzilla at redhat.com bugzilla at redhat.com
Fri Dec 29 02:57:24 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1478411



--- Comment #28 from nh2 <nh2-redhatbugzilla at deditus.de> ---
I have retested with my FUSE kernel patch.

The issue remains as described in my comments 11 and 13: Every second
getdents() call is still very slow:

# strace -ftttT -e getdents ls -lU largenames-10k/ > /dev/null
1514515933.550686 getdents(3, /* 604 entries */, 131072) = 43392 <0.021847>
1514515933.587737 getdents(3, /* 603 entries */, 131072) = 43416 <0.001550>
1514515933.599690 getdents(3, /* 601 entries */, 131072) = 43272 <0.012524>
1514515933.624767 getdents(3, /* 601 entries */, 131072) = 43272 <0.001638>
1514515933.636231 getdents(3, /* 601 entries */, 131072) = 43272 <0.020983>
1514515933.670622 getdents(3, /* 601 entries */, 131072) = 43272 <0.001606>
1514515933.682672 getdents(3, /* 601 entries */, 131072) = 43272 <0.023609>
1514515933.721695 getdents(3, /* 601 entries */, 131072) = 43272 <0.001725>
1514515933.731581 getdents(3, /* 601 entries */, 131072) = 43272 <0.019112>
1514515933.764764 getdents(3, /* 601 entries */, 131072) = 43272 <0.001663>
1514515933.777859 getdents(3, /* 601 entries */, 131072) = 43272 <0.024405>
1514515933.816322 getdents(3, /* 601 entries */, 131072) = 43272 <0.003288>
1514515933.830961 getdents(3, /* 601 entries */, 131072) = 43272 <0.033194>
1514515933.877653 getdents(3, /* 601 entries */, 131072) = 43272 <0.001487>
1514515933.887763 getdents(3, /* 601 entries */, 131072) = 43272 <0.021309>
1514515933.923075 getdents(3, /* 601 entries */, 131072) = 43272 <0.001484>
1514515933.934226 getdents(3, /* 381 entries */, 131072) = 27432 <0.001453>
1514515933.943821 getdents(3, /* 0 entries */, 131072) = 0 <0.000040>
1514515933.967422 +++ exited with 0 +++

And `ls -lU` remaining faster than `ls -1U`:

# strace -fcw -e getdents ls -1U largenames-10k/ > /dev/null
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.313788       17433        18           getdents
------ ----------- ----------- --------- --------- ----------------
100.00    0.313788                    18           total

# strace -fcw -e getdents ls -lU largenames-10k/ > /dev/null
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.120517        6695        18           getdents
------ ----------- ----------- --------- --------- ----------------
100.00    0.120517                    18           total

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list