Re: Thinking outside the box on file systems

From: Phillip Susi
Date: Mon Aug 20 2007 - 10:24:54 EST


Kyle Moffett wrote:
One last comment:

50ms to update in-memory dentries would be FRIGGING TERRIBLE!!! Using Perl, an interpreted language, the following script takes 3.39s to run on one of my lower-end systems:

for (0 .. 10000) {
mkdir "a-$_";
mkdir "b-$_";
rename "a-$_", "b-$_";
}

It's not even deleting things afterwards so it's populating a directory with ten thousand entries. We can easily calculate 10,000/3.39 = 2,949 entries per second, or 0.339 milliseconds per entry.

When I change it to rmdir things instead, the runtime goes down to 2.89s == 3460 entries/sec == 0.289 milliseconds per entry.

If such a scheme even increases the overhead of a directory rename by a hundredth of a millisecond on that box it would easily be a 2-3% performance hit. Given that people tend to kill for 1% performance boosts, that's not likely to be a good idea.

The question is how many dentries are cached at the time? And it looks like you are just renaming, not moving, so there would be no need to recompute the acls at all.

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