Re: [PATCH 1/1] rosebush: Add new data structure

From: Al Viro
Date: Sun Feb 25 2024 - 01:37:18 EST


On Thu, Feb 22, 2024 at 08:37:24PM +0000, Matthew Wilcox (Oracle) wrote:
> Rosebush is a resizing hash table. See
> Docuemntation/core-api/rosebush.rst for details.

Interesting... A few obvious questions wrt dcache:
* how do the locks that stuff nest wrt ->d_lock? Inside?
* same for rename_lock (on rename dentries change names/parents/hash
values).
* we would be really forced to maintain DCACHE_UNHASHED in ->d_flags;
it's not impossible to do, but will take care (protection of ->d_flags has
several dark corners).
* the cost of d_drop() goes up. Might or might not get painful.
* if the bucket locks nest inside ->d_lock, we'd better look out
for the latter getting held for longer. Might get unpleasant.