mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
vfs: make evict() use smp_mb__after_spinlock instead of smp_mb
It literally directly follows a spin_lock() call. This whacks an explicit barrier on x86-64. Signed-off-by: Mateusz Guzik <mjguzik@gmail.com> Link: https://lore.kernel.org/r/20241113155103.4194099-1-mjguzik@gmail.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
2f4d4503e9
commit
45c9faf506
@ -746,7 +746,7 @@ static void evict(struct inode *inode)
|
|||||||
* ___wait_var_event() either sees the bit cleared or
|
* ___wait_var_event() either sees the bit cleared or
|
||||||
* waitqueue_active() check in wake_up_var() sees the waiter.
|
* waitqueue_active() check in wake_up_var() sees the waiter.
|
||||||
*/
|
*/
|
||||||
smp_mb();
|
smp_mb__after_spinlock();
|
||||||
inode_wake_up_bit(inode, __I_NEW);
|
inode_wake_up_bit(inode, __I_NEW);
|
||||||
BUG_ON(inode->i_state != (I_FREEING | I_CLEAR));
|
BUG_ON(inode->i_state != (I_FREEING | I_CLEAR));
|
||||||
spin_unlock(&inode->i_lock);
|
spin_unlock(&inode->i_lock);
|
||||||
|
Loading…
Reference in New Issue
Block a user