Message ID | 1536693506-11949-3-git-send-email-longman@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fs/dcache: Track # of negative dentries | expand |
On Tue, Sep 11, 2018 at 03:18:24PM -0400, Waiman Long wrote: > The list_lru structure is essentially just a pointer to a table of > per-node LRU lists. Even if CONFIG_MEMCG_KMEM is defined, the list > field is just used for LRU list registration and shrinker_id is set > at initialization. Those fields won't need to be touched that often. > > So there is no point to make the list_lru structures to sit in their > own cachelines. > > Signed-off-by: Waiman Long <longman@redhat.com> Looks fine. Reviewed-by: Dave Chinner <dchinner@redhat.com>
diff --git a/include/linux/fs.h b/include/linux/fs.h index 3332270..fd4cd8a 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1443,11 +1443,12 @@ struct super_block { struct user_namespace *s_user_ns; /* - * Keep the lru lists last in the structure so they always sit on their - * own individual cachelines. + * The list_lru structure is essentially just a pointer to a table + * of per-node lru lists, each of which has its own spinlock. + * There is no need to put them into separate cachelines. */ - struct list_lru s_dentry_lru ____cacheline_aligned_in_smp; - struct list_lru s_inode_lru ____cacheline_aligned_in_smp; + struct list_lru s_dentry_lru; + struct list_lru s_inode_lru; struct rcu_head rcu; struct work_struct destroy_work;
The list_lru structure is essentially just a pointer to a table of per-node LRU lists. Even if CONFIG_MEMCG_KMEM is defined, the list field is just used for LRU list registration and shrinker_id is set at initialization. Those fields won't need to be touched that often. So there is no point to make the list_lru structures to sit in their own cachelines. Signed-off-by: Waiman Long <longman@redhat.com> --- include/linux/fs.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)