On Thu, Nov 13, 2008 at 8:15 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > - It would be really cool to find some way to automatically notice when > the tree is hot-cached and we might as well just be linear. I don't > know exactly what it might be, but one of the nice things is that the > preloading is _entirely_ optimistic, and we could just stop it in the > middle if we notice that there's no upside. Perhaps, rather... notice when the tree is *cold*-cached. At that point you're already in a pseudo-slowpath and starting several threads won't be noticeable at all compared to the time savings. You could probably very easily do that by keeping track of the time as you start with the normal single-threaded scan of directory entries. If the entries are all equally slow/fast, there most likely won't be any benefit at all to spawning extra threads. You might use some cutoff on number of entries to test before you assume everything is hot and stop worrying about the time. If there's a lot of variability in the first few thousand then it means some caches are cold and spawning extra threads will probably help. Cheers, Kyle Moffett -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html