From 99ba0c815058805a179d0edf8ddd421898798957 Mon Sep 17 00:00:00 2001 From: Filipe Manana Date: Mon, 19 Sep 2022 15:06:31 +0100 Subject: [PATCH] btrfs: use cond_resched_rwlock_write() during inode eviction At evict_inode_truncate_pages(), instead of manually checking if rescheduling is needed, then unlock the extent map tree, reschedule and then write lock again the tree, use the helper cond_resched_rwlock_write() which does all that. Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- fs/btrfs/inode.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 8f0376a..491c2b7 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -5305,11 +5305,7 @@ static void evict_inode_truncate_pages(struct inode *inode) clear_bit(EXTENT_FLAG_LOGGING, &em->flags); remove_extent_mapping(map_tree, em); free_extent_map(em); - if (need_resched()) { - write_unlock(&map_tree->lock); - cond_resched(); - write_lock(&map_tree->lock); - } + cond_resched_rwlock_write(&map_tree->lock); } write_unlock(&map_tree->lock); -- 2.7.4