On Wed, Sep 25, 2019 at 02:59:47PM +0300, Amir Goldstein wrote: > On Mon, Sep 23, 2019 at 5:34 PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > > > FWIW, #next.dcache has the straight conversion to hlist. > > Note that this: > @@ -108,8 +108,8 @@ struct dentry { > struct list_head d_lru; /* LRU list */ > wait_queue_head_t *d_wait; /* in-lookup ones only */ > }; > - struct list_head d_child; /* child of parent list */ > - struct list_head d_subdirs; /* our children */ > + struct hlist_node d_sibling; /* child of parent list */ > + struct hlist_head d_children; /* our children */ > > Changes the 'standard' struct dentry size from 192 to 184. > > Does that matter for cache line alignment? > > Should struct dentry be ____cacheline_aligned? *shrug* DNAME_INLINE_LEN would need to be adjusted; it's just that I think it would make a lot of sense to represent cursors not by dentries and hang those on an additional hlist_head in dentry...