mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
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>
This commit is contained in:
parent
eb7e453a83
commit
5a607aa943
14
fs/inode.c
14
fs/inode.c
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user