From: Filipe Manana Date: Mon, 19 Sep 2022 14:06:31 +0000 (+0100) Subject: btrfs: use cond_resched_rwlock_write() during inode eviction X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=99ba0c815058805a179d0edf8ddd421898798957;p=kernel.git 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 --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 8f0376a4efb7f..491c2b7f48bfd 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);