On Wed, Jun 22, 2016 at 7:58 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > Hell knows... Order of checks can be delicate; out of those cases, (1) and (2) > are on the hottest paths. Actuially, as long as we leave the actual RCU paths alone, none of the lookup paths are all that hot in any profile I've seen recently. So I'm certainly ok with using that d_same_name() helper for the four cases you mention (__d_lookup, d_alloc_parallel*2, d_exact_alias). In fact, if you add a "unlikely()" for the DCACHE_OP_COMPARE test, you might even improve on code generation. The non-RCU case basically never shows up in profiles (it used to, with symlinks, but you fixed that case), and if it ever does I suspect that the fix will be to make sure we don't fall out of rcu. So don't worry too much about __d_lookup() being a hot case, I don't think it is. (Of course, if you have a load that shows me wrong, let's look at it by all means. Maybe the loads I have used have been bad) Linus -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html