Skip to content

Commit 5a607aa

Browse files
mjguzikbrauner
authored andcommitted
fs: load the ->i_sb pointer once in inode_sb_list_{add,del}
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>
1 parent eb7e453 commit 5a607aa

1 file changed

Lines changed: 9 additions & 5 deletions

File tree

fs/inode.c

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -623,18 +623,22 @@ static void inode_wait_for_lru_isolating(struct inode *inode)
623623
*/
624624
void inode_sb_list_add(struct inode *inode)
625625
{
626-
spin_lock(&inode->i_sb->s_inode_list_lock);
627-
list_add(&inode->i_sb_list, &inode->i_sb->s_inodes);
628-
spin_unlock(&inode->i_sb->s_inode_list_lock);
626+
struct super_block *sb = inode->i_sb;
627+
628+
spin_lock(&sb->s_inode_list_lock);
629+
list_add(&inode->i_sb_list, &sb->s_inodes);
630+
spin_unlock(&sb->s_inode_list_lock);
629631
}
630632
EXPORT_SYMBOL_GPL(inode_sb_list_add);
631633

632634
static inline void inode_sb_list_del(struct inode *inode)
633635
{
636+
struct super_block *sb = inode->i_sb;
637+
634638
if (!list_empty(&inode->i_sb_list)) {
635-
spin_lock(&inode->i_sb->s_inode_list_lock);
639+
spin_lock(&sb->s_inode_list_lock);
636640
list_del_init(&inode->i_sb_list);
637-
spin_unlock(&inode->i_sb->s_inode_list_lock);
641+
spin_unlock(&sb->s_inode_list_lock);
638642
}
639643
}
640644

0 commit comments

Comments
 (0)