]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fs: load the ->i_sb pointer once in inode_sb_list_{add,del}
authorMateusz Guzik <mjguzik@gmail.com>
Wed, 19 Mar 2025 00:46:35 +0000 (01:46 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 19 Mar 2025 08:28:13 +0000 (09:28 +0100)
While this may sound like a pedantic clean up, it does in fact impact
code generation -- the patched add routine is slightly smaller.

Signed-off-by: Mateusz Guzik <mjguzik@gmail.com>
Link: https://lore.kernel.org/r/20250319004635.1820589-1-mjguzik@gmail.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/inode.c

index 4c3be44838a558fcd33c02c2c9068fc45afc87f0..d7fe28dd9e8131320bb491fb8d14f9b30ebf04bb 100644 (file)
@@ -623,18 +623,22 @@ static void inode_wait_for_lru_isolating(struct inode *inode)
  */
 void inode_sb_list_add(struct inode *inode)
 {
-       spin_lock(&inode->i_sb->s_inode_list_lock);
-       list_add(&inode->i_sb_list, &inode->i_sb->s_inodes);
-       spin_unlock(&inode->i_sb->s_inode_list_lock);
+       struct super_block *sb = inode->i_sb;
+
+       spin_lock(&sb->s_inode_list_lock);
+       list_add(&inode->i_sb_list, &sb->s_inodes);
+       spin_unlock(&sb->s_inode_list_lock);
 }
 EXPORT_SYMBOL_GPL(inode_sb_list_add);
 
 static inline void inode_sb_list_del(struct inode *inode)
 {
+       struct super_block *sb = inode->i_sb;
+
        if (!list_empty(&inode->i_sb_list)) {
-               spin_lock(&inode->i_sb->s_inode_list_lock);
+               spin_lock(&sb->s_inode_list_lock);
                list_del_init(&inode->i_sb_list);
-               spin_unlock(&inode->i_sb->s_inode_list_lock);
+               spin_unlock(&sb->s_inode_list_lock);
        }
 }