Readdir NFSv4 With Readdir Plus
From Linux NFS
(Difference between revisions)
(Created page with '<pre> 36: Linux 2.6.36 36NORC: Linux 2.6.36 (without readdir cap) 38: Linux 2.6.38 38RC: Linux 2.6.38 (with readdir cap added back) 38NB: Linux 2.6.38 (with Neil Bro…') |
|||
Line 1: | Line 1: | ||
<pre> | <pre> | ||
- | |||
36: Linux 2.6.36 | 36: Linux 2.6.36 | ||
36NORC: Linux 2.6.36 (without readdir cap) | 36NORC: Linux 2.6.36 (without readdir cap) | ||
Line 6: | Line 5: | ||
38RC: Linux 2.6.38 (with readdir cap added back) | 38RC: Linux 2.6.38 (with readdir cap added back) | ||
38NB: Linux 2.6.38 (with Neil Brown's patch and loop detection) | 38NB: Linux 2.6.38 (with Neil Brown's patch and loop detection) | ||
+ | </pre> | ||
+ | == 100 Files == | ||
- | + | ===== time ls -f --color=none /nfs/test/dir.100 > ls.txt ===== | |
- | ===== | + | <pre> |
- | + | ||
- | time ls -f --color=none /nfs/test/dir.100 > ls.txt | + | |
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 22: | Line 21: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 2 | 2 | 6 | 6 | 6 | readdir | 2 | 2 | 6 | 6 | 6 | ||
+ | </pre> | ||
- | time ls -lU --color=none /nfs/test/dir.100 > ls.txt | + | ===== time ls -lU --color=none /nfs/test/dir.100 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 33: | Line 34: | ||
lookup | 102 | 102 | 2 | 2 | 2 | lookup | 102 | 102 | 2 | 2 | 2 | ||
readdir | 2 | 2 | 6 | 6 | 6 | readdir | 2 | 2 | 6 | 6 | 6 | ||
+ | </pre> | ||
- | time ls -U --color=none /nfs/test/dir.100 > ls.txt | + | ===== time ls -U --color=none /nfs/test/dir.100 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 44: | Line 47: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 2 | 2 | 6 | 6 | 6 | readdir | 2 | 2 | 6 | 6 | 6 | ||
+ | </pre> | ||
- | time rm -rf /nfs/test/dir.100 > ls.txt | + | ===== time rm -rf /nfs/test/dir.100 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 57: | Line 62: | ||
statfs | 1 | 1 | 0 | 1 | 1 | statfs | 1 | 1 | 0 | 1 | 1 | ||
readdir | 2 | 2 | 6 | 2 | 2 | readdir | 2 | 2 | 6 | 2 | 2 | ||
+ | </pre> | ||
+ | == 1,000 Files == | ||
- | + | ===== time ls -f --color=none /nfs/test/dir.1000 > ls.txt ===== | |
- | ===== | + | <pre> |
- | + | ||
- | time ls -f --color=none /nfs/test/dir.1000 > ls.txt | + | |
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 73: | Line 78: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 13 | 13 | 59 | 59 | 59 | readdir | 13 | 13 | 59 | 59 | 59 | ||
+ | </pre> | ||
- | time ls -lU --color=none /nfs/test/dir.1000 > ls.txt | + | ===== time ls -lU --color=none /nfs/test/dir.1000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 84: | Line 91: | ||
lookup | 1002 | 1002 | 2 | 2 | 2 | lookup | 1002 | 1002 | 2 | 2 | 2 | ||
readdir | 13 | 13 | 59 | 59 | 59 | readdir | 13 | 13 | 59 | 59 | 59 | ||
+ | </pre> | ||
- | time ls -U --color=none /nfs/test/dir.1000 > ls.txt | + | ===== time ls -U --color=none /nfs/test/dir.1000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 95: | Line 104: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 13 | 13 | 59 | 59 | 59 | readdir | 13 | 13 | 59 | 59 | 59 | ||
+ | </pre> | ||
- | time rm -rf /nfs/test/dir.1000 > ls.txt | + | ===== time rm -rf /nfs/test/dir.1000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 108: | Line 119: | ||
statfs | 1 | 1 | 0 | 1 | 1 | statfs | 1 | 1 | 0 | 1 | 1 | ||
readdir | 13 | 13 | 59 | 20 | 20 | readdir | 13 | 13 | 59 | 20 | 20 | ||
+ | </pre> | ||
+ | == 10,000 Files == | ||
- | + | ===== time ls -f --color=none /nfs/test/dir.10000 > ls.txt ===== | |
- | ===== | + | <pre> |
- | + | ||
- | time ls -f --color=none /nfs/test/dir.10000 > ls.txt | + | |
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 124: | Line 135: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 139 | 139 | 589 | 197 | 241 | readdir | 139 | 139 | 589 | 197 | 241 | ||
+ | </pre> | ||
- | time ls -lU --color=none /nfs/test/dir.10000 > ls.txt | + | ===== time ls -lU --color=none /nfs/test/dir.10000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 135: | Line 148: | ||
lookup | 10002 | 10002 | 2 | 10002 | 2 | lookup | 10002 | 10002 | 2 | 10002 | 2 | ||
readdir | 139 | 139 | 589 | 197 | 589 | readdir | 139 | 139 | 589 | 197 | 589 | ||
+ | </pre> | ||
- | time ls -U --color=none /nfs/test/dir.10000 > ls.txt | + | ===== time ls -U --color=none /nfs/test/dir.10000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 146: | Line 161: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 139 | 139 | 589 | 197 | 241 | readdir | 139 | 139 | 589 | 197 | 241 | ||
+ | </pre> | ||
- | time rm -rf /nfs/test/dir.10000 > ls.txt | + | ===== time rm -rf /nfs/test/dir.10000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+----------+----------+----------+----------+---------- | --------+----------+----------+----------+----------+---------- | ||
Line 159: | Line 176: | ||
statfs | 1 | 1 | 0 | 1 | 1 | statfs | 1 | 1 | 0 | 1 | 1 | ||
readdir | 139 | 139 | 589 | 197 | 197 | readdir | 139 | 139 | 589 | 197 | 197 | ||
+ | </pre> | ||
+ | == 100,000 Files == | ||
- | + | ===== time ls -f --color=none /nfs/test/dir.100000 > ls.txt ===== | |
- | ===== | + | <pre> |
- | + | ||
- | time ls -f --color=none /nfs/test/dir.100000 > ls.txt | + | |
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+-----------+-----------+-----------+-----------+---------- | --------+-----------+-----------+-----------+-----------+---------- | ||
Line 175: | Line 192: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 1389 | 1389 | 5883 | 1961 | 2005 | readdir | 1389 | 1389 | 5883 | 1961 | 2005 | ||
+ | </pre> | ||
- | time ls -lU --color=none /nfs/test/dir.100000 > ls.txt | + | ===== time ls -lU --color=none /nfs/test/dir.100000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+-----------+-----------+-----------+-----------+---------- | --------+-----------+-----------+-----------+-----------+---------- | ||
Line 186: | Line 205: | ||
lookup | 100002 | 100002 | 2 | 100002 | 2 | lookup | 100002 | 100002 | 2 | 100002 | 2 | ||
readdir | 1389 | 1389 | 5883 | 1961 | 5883 | readdir | 1389 | 1389 | 5883 | 1961 | 5883 | ||
+ | </pre> | ||
- | time ls -U --color=none /nfs/test/dir.100000 > ls.txt | + | ===== time ls -U --color=none /nfs/test/dir.100000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+-----------+-----------+-----------+-----------+---------- | --------+-----------+-----------+-----------+-----------+---------- | ||
Line 197: | Line 218: | ||
lookup | 2 | 2 | 2 | 2 | 2 | lookup | 2 | 2 | 2 | 2 | 2 | ||
readdir | 1389 | 1389 | 5883 | 1961 | 2005 | readdir | 1389 | 1389 | 5883 | 1961 | 2005 | ||
+ | </pre> | ||
- | time rm -rf /nfs/test/dir.100000 > ls.txt | + | ===== time rm -rf /nfs/test/dir.100000 > ls.txt ===== |
+ | </pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+-----------+-----------+-----------+-----------+---------- | --------+-----------+-----------+-----------+-----------+---------- | ||
Line 210: | Line 233: | ||
statfs | 2 | 2 | 1 | 2 | 2 | statfs | 2 | 2 | 1 | 2 | 2 | ||
readdir | 1386 | 1389 | 5883 | 1961 | 1961 | readdir | 1386 | 1389 | 5883 | 1961 | 1961 | ||
+ | </pre> | ||
+ | == 1,000,000 Files == | ||
- | + | ===== time ls -f --color=none /nfs/test/dir.1000000 > ls.txt ===== | |
- | ===== | + | <pre> |
- | + | ||
- | time ls -f --color=none /nfs/test/dir.1000000 > ls.txt | + | |
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+------------+------------+------------+------------+----------- | --------+------------+------------+------------+------------+----------- | ||
Line 228: | Line 251: | ||
Readdir loop | Readdir loop | ||
detected | detected | ||
+ | </pre> | ||
- | time ls -lU --color=none /nfs/test/dir.1000000 > ls.txt | + | ===== time ls -lU --color=none /nfs/test/dir.1000000 > ls.txt ===== |
+ | </pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+------------+------------+------------+------------+----------- | --------+------------+------------+------------+------------+----------- | ||
Line 241: | Line 266: | ||
Readdir loop | Readdir loop | ||
detected | detected | ||
+ | </pre> | ||
- | time ls -U --color=none /nfs/test/dir.1000000 > ls.txt | + | ===== time ls -U --color=none /nfs/test/dir.1000000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+------------+------------+------------+------------+----------- | --------+------------+------------+------------+------------+----------- | ||
Line 254: | Line 281: | ||
Readdir loop | Readdir loop | ||
detected | detected | ||
+ | </pre> | ||
- | time rm -rf /nfs/test/dir.1000000 > ls.txt | + | ===== time rm -rf /nfs/test/dir.1000000 > ls.txt ===== |
+ | <pre> | ||
kernel | 36 | 36NORC | 38 | 38RC | 38NB | kernel | 36 | 36NORC | 38 | 38RC | 38NB | ||
--------+------------+------------+------------+------------+----------- | --------+------------+------------+------------+------------+----------- | ||
Line 269: | Line 298: | ||
Out of memory Out of memory Readdir loop | Out of memory Out of memory Readdir loop | ||
detected | detected | ||
- | |||
</pre> | </pre> |
Revision as of 19:39, 4 April 2011
36: Linux 2.6.36 36NORC: Linux 2.6.36 (without readdir cap) 38: Linux 2.6.38 38RC: Linux 2.6.38 (with readdir cap added back) 38NB: Linux 2.6.38 (with Neil Brown's patch and loop detection)
Contents |
100 Files
time ls -f --color=none /nfs/test/dir.100 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.054s | 0m0.104s | 0m0.049s | 0m0.022s | 0m0.013s user | 0m0.003s | 0m0.003s | 0m0.000s | 0m0.000s | 0m0.000s sys | 0m0.003s | 0m0.007s | 0m0.043s | 0m0.013s | 0m0.010s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 2 | 2 | 6 | 6 | 6
time ls -lU --color=none /nfs/test/dir.100 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.124s | 0m0.088s | 0m0.096s | 0m0.041s | 0m0.021s user | 0m0.003s | 0m0.000s | 0m0.003s | 0m0.010s | 0m0.007s sys | 0m0.017s | 0m0.047s | 0m0.007s | 0m0.010s | 0m0.013s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 102 | 102 | 2 | 2 | 2 readdir | 2 | 2 | 6 | 6 | 6
time ls -U --color=none /nfs/test/dir.100 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.206s | 0m0.014s | 0m0.097s | 0m0.038s | 0m0.014s user | 0m0.003s | 0m0.000s | 0m0.000s | 0m0.000s | 0m0.003s sys | 0m0.010s | 0m0.010s | 0m0.003s | 0m0.037s | 0m0.010s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 2 | 2 | 6 | 6 | 6
time rm -rf /nfs/test/dir.100 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.044s | 0m0.038s | 0m0.042s | 0m0.751s | 0m0.038s user | 0m0.000s | 0m0.003s | 0m0.007s | 0m0.007s | 0m0.000s sys | 0m0.043s | 0m0.013s | 0m0.010s | 0m0.010s | 0m0.017s access | 13 | 12 | 13 | 11 | 12 getattr | 1 | 1 | 1 | 1 | 1 lookup | 102 | 102 | 101 | 102 | 102 remove | 101 | 101 | 101 | 101 | 101 statfs | 1 | 1 | 0 | 1 | 1 readdir | 2 | 2 | 6 | 2 | 2
1,000 Files
time ls -f --color=none /nfs/test/dir.1000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.082s | 0m0.047s | 0m0.039s | 0m0.040s | 0m0.043s user | 0m0.003s | 0m0.000s | 0m0.003s | 0m0.003s | 0m0.003s sys | 0m0.007s | 0m0.020s | 0m0.017s | 0m0.017s | 0m0.027s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 13 | 13 | 59 | 59 | 59
time ls -lU --color=none /nfs/test/dir.1000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.208s | 0m0.220s | 0m0.084s | 0m0.055s | 0m0.056s user | 0m0.007s | 0m0.007s | 0m0.000s | 0m0.010s | 0m0.007s sys | 0m0.067s | 0m0.170s | 0m0.023s | 0m0.043s | 0m0.047s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 1002 | 1002 | 2 | 2 | 2 readdir | 13 | 13 | 59 | 59 | 59
time ls -U --color=none /nfs/test/dir.1000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.069s | 0m0.016s | 0m0.090s | 0m0.040s | 0m0.041s user | 0m0.000s | 0m0.007s | 0m0.010s | 0m0.007s | 0m0.007s sys | 0m0.003s | 0m0.003s | 0m0.000s | 0m0.030s | 0m0.033s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 13 | 13 | 59 | 59 | 59
time rm -rf /nfs/test/dir.1000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.273s | 0m0.289s | 0m0.326s | 0m0.291s | 0m0.292s user | 0m0.003s | 0m0.003s | 0m0.007s | 0m0.010s | 0m0.003s sys | 0m0.083s | 0m0.133s | 0m0.147s | 0m0.087s | 0m0.110s access | 81 | 85 | 87 | 85 | 85 getattr | 1 | 1 | 1 | 1 | 1 lookup | 1002 | 1002 | 1001 | 1002 | 1002 remove | 1001 | 1001 | 1001 | 1001 | 1001 statfs | 1 | 1 | 0 | 1 | 1 readdir | 13 | 13 | 59 | 20 | 20
10,000 Files
time ls -f --color=none /nfs/test/dir.10000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.242s | 0m0.295s | 0m0.226s | 0m0.101s | 0m0.143s user | 0m0.013s | 0m0.000s | 0m0.010s | 0m0.010s | 0m0.003s sys | 0m0.020s | 0m0.027s | 0m0.143s | 0m0.087s | 0m0.053s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 139 | 139 | 589 | 197 | 241
time ls -lU --color=none /nfs/test/dir.10000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m1.677s | 0m1.624s | 0m0.446s | 0m1.481s | 0m0.322s user | 0m0.093s | 0m0.060s | 0m0.023s | 0m0.060s | 0m0.027s sys | 0m0.667s | 0m1.037s | 0m0.123s | 0m0.737s | 0m0.210s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 10002 | 10002 | 2 | 10002 | 2 readdir | 139 | 139 | 589 | 197 | 589
time ls -U --color=none /nfs/test/dir.10000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m0.303s | 0m0.064s | 0m0.440s | 0m0.103s | 0m0.121s user | 0m0.003s | 0m0.003s | 0m0.000s | 0m0.000s | 0m0.000s sys | 0m0.017s | 0m0.020s | 0m0.057s | 0m0.097s | 0m0.120s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 139 | 139 | 589 | 197 | 241
time rm -rf /nfs/test/dir.10000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+----------+----------+----------+----------+---------- real | 0m2.736s | 0m2.748s | 0m2.829s | 0m2.755s | 0m2.745s user | 0m0.023s | 0m0.017s | 0m0.010s | 0m0.033s | 0m0.027s sys | 0m0.880s | 0m0.833s | 0m0.943s | 0m0.850s | 0m0.927s access | 793 | 798 | 782 | 800 | 790 getattr | 1 | 1 | 1 | 1 | 1 lookup | 10002 | 10002 | 10001 | 10002 | 10002 remove | 10001 | 10001 | 10001 | 10001 | 10001 statfs | 1 | 1 | 0 | 1 | 1 readdir | 139 | 139 | 589 | 197 | 197
100,000 Files
time ls -f --color=none /nfs/test/dir.100000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+-----------+-----------+-----------+-----------+---------- real | 0m3.841s | 0m3.695s | 0m2.185s | 0m0.908s | 0m0.757s user | 0m0.037s | 0m0.040s | 0m0.027s | 0m0.027s | 0m0.030s sys | 0m0.243s | 0m0.250s | 0m0.663s | 0m0.290s | 0m0.233s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 1389 | 1389 | 5883 | 1961 | 2005
time ls -lU --color=none /nfs/test/dir.100000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+-----------+-----------+-----------+-----------+---------- real | 0m17.549s | 0m14.968s | 0m3.504s | 0m13.852s | 0m2.845s user | 0m00.577s | 0m00.623s | 0m0.273s | 0m00.533s | 0m0.310s sys | 0m06.993s | 0m06.686s | 0m1.447s | 0m05.703s | 0m1.250s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 100002 | 100002 | 2 | 100002 | 2 readdir | 1389 | 1389 | 5883 | 1961 | 5883
time ls -U --color=none /nfs/test/dir.100000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+-----------+-----------+-----------+-----------+---------- real | 0m3.624s | 0m0.687s | 0m4.752s | 0m0.927s | 0m0.804s user | 0m0.023s | 0m0.023s | 0m0.033s | 0m0.023s | 0m0.033s sys | 0m0.250s | 0m0.283s | 0m0.773s | 0m0.587s | 0m0.403s access | 3 | 3 | 3 | 3 | 3 getattr | 1 | 1 | 1 | 1 | 1 lookup | 2 | 2 | 2 | 2 | 2 readdir | 1389 | 1389 | 5883 | 1961 | 2005
time rm -rf /nfs/test/dir.100000 > ls.txt
</pre>
kernel | 36 | 36NORC | 38 | 38RC | 38NB
+-----------+-----------+-----------+-----------+----------
real | 0m29.257s | 0m29.468s | 0m29.975s | 0m29.804s | 0m32.157s user | 0m00.260s | 0m00.207s | 0m00.183s | 0m00.243s | 0m00.197s sys | 0m08.173s | 0m08.089s | 0m08.426s | 0m09.019s | 0m09.903s
access | 7816 | 7804 | 7730 | 7945 | 8466 getattr | 1 | 1 | 1 | 1 | 1 lookup | 100002 | 100002 | 100001 | 100002 | 100002 remove | 100001 | 100001 | 100001 | 100001 | 100001 statfs | 2 | 2 | 1 | 2 | 2 readdir | 1386 | 1389 | 5883 | 1961 | 1961 </pre>
1,000,000 Files
time ls -f --color=none /nfs/test/dir.1000000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+------------+------------+------------+------------+----------- real | 2m07.105s | 2m01.741s | | | 0m0.257s user | 0m00.287s | 0m00.310s | | | 0m0.010s sys | 0m13.742s | 0m13.732s | Looping | Looping | 0m0.107s access | 3 | 3 | readdir | readdir | 3 getattr | 3 | 3 | bug | bug | 1 lookup | 2 | 2 | | | 2 readdir | 13889 | 13889 | | | 690 Readdir loop detected
time ls -lU --color=none /nfs/test/dir.1000000 > ls.txt
</pre>
kernel | 36 | 36NORC | 38 | 38RC | 38NB
+------------+------------+------------+------------+-----------
real | 4m45.495s | 2m42.116s | 4m25.823s | 0m30.414s | 0m11.363s user | 0m06.263s | 0m06.180s | 0m03.213s | 0m03.140s | 0m00.397s sys | 1m18.802s | 1m16.625s | 1m20.675s | 0m18.479s | 0m01.747s access | 18 | 12 | 15 | 6 | 3
getattr | 1 | 1 | 1502 | 4 | 1
lookup | 1000002 | 1000002 | 4 | 42947 | 2
readdir | 13889 | 13889 | 542744 | 5436 | 7548
Readdir loop detected
</pre>
time ls -U --color=none /nfs/test/dir.1000000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+------------+------------+------------+------------+----------- real | 2m29.628s | 0m18.127s | | | 0m0.297s user | 0m00.333s | 0m00.363s | | | 0m0.003s sys | 0m13.636s | 0m13.386s | Looping | Looping | 0m0.233s access | 3 | 3 | readdir | readdir | 3 getattr | 3 | 1 | bug | bug | 1 lookup | 2 | 2 | | | 2 readdir | 13889 | 13889 | | | 690 Readdir loop detected
time rm -rf /nfs/test/dir.1000000 > ls.txt
kernel | 36 | 36NORC | 38 | 38RC | 38NB --------+------------+------------+------------+------------+----------- real | 47m37.445s | 36m38.389s | 0m52.997s | 0m11.633s | 3m9.324s user | 00m02.310s | 00m03.103s | 0m01.023s | 0m01.110s | 0m0.173s sys | 02m37.440s | 03m51.485s | 0m21.605s | 0m02.696s | 0m8.803s access | 90944 | 110445 | 3 | 3 | 2581 getattr | 1 | 1 | 2 | 1 | 1 lookup | 1000004 | 1000004 | 2 | 2 | 32945 remove | 1000001 | 1000001 | 0 | 0 | 32945 statfs | 2 | 2 | 0 | 0 | 2 readdir | 13889 | 13889 | 85044 | 1556 | 1290 Out of memory Out of memory Readdir loop detected