problems with large directories - not only ext2

Marc Lehmann (pcg@goof.com)
Sat, 7 Aug 1999 16:04:24 +0200


Linux gets extremely slow on operations like "ls", when done on large
directories (1000+ files). For example, when listing a few large news
directories I can watch how my window manager re-draws its windows, and
typing in commands is awkward (but possible).

Until now I thought this was a limitation of ext2. But just now I ls -lR a cd
with large directories, and the result was just the same. Here is a vmstat
listing:

0 1 0 128 5264 75916 76764 0 0 44 0 143 295 1 41 58
1 0 0 128 5036 76012 76888 0 0 53 0 135 246 0 34 65
0 1 0 128 4812 76080 77040 0 0 41 9 235 361 1 46 53
1 0 0 128 4620 76136 77160 0 0 34 0 447 765 3 38 59
1 0 0 128 4408 76208 77300 0 0 42 0 244 506 2 43 55
1 0 0 128 4248 76248 77412 0 0 29 0 141 231 1 30 68

This is on a dual-cpu system, and as you can see one cpu is about idle the
whole time.

This behaviour, btw, started when the dcache was created, so I suspect
there is a link. I did not think much about it since I thought: "well,
ext2 gets improved since this is a known problem", but it seems that
btrees for ext2 would not improve this problem, as it occurs with isofs as
well.

HTH,

-- 
      -----==-                                             |
      ----==-- _                                           |
      ---==---(_)__  __ ____  __       Marc Lehmann      +--
      --==---/ / _ \/ // /\ \/ /       pcg@goof.com      |e|
      -=====/_/_//_/\_,_/ /_/\_\       XX11-RIPE         --+
    The choice of a GNU generation                       |
                                                         |

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/