On Wed, Jun 19, 2024 at 01:25:02PM -0700, Linus Torvalds wrote: > For example, making d_hash() avoid indirection just means that now > pretty much _all_ the cost of __d_lookup_rcu() is in the cache misses > on the hash table itself. Which was always the bulk of it. And on my > arm64 machine, it turns out that the best optimization for the load I > tested would be to make that hash table smaller to actually be a bit > denser in the cache, But that's such a load-dependent optimization > that I'm not doing this. > > Tuning the hash table size or data structure cacheline layouts might > be worthwhile - and likely a bigger deal - but is _not_ what these > patches are about. Funnily, I'm working on rosebush v2 today. It's in no shape to send out (it's failing ~all of its selftests) but *should* greatly improve the cache friendliness of the hash table. And it's being written with the dcache as its first customer.