[PATCH 2/6] f2fs: give scheduling point in shrinking path
From: Jaegeuk Kim
Date: Mon Jan 25 2016 - 17:07:26 EST
It needs to give a chance to be rescheduled while shrinking slab entries.
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/extent_cache.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c
index 18311ff..af53503 100644
--- a/fs/f2fs/extent_cache.c
+++ b/fs/f2fs/extent_cache.c
@@ -593,6 +593,8 @@ unsigned int f2fs_shrink_extent_tree(struct f2fs_sb_info *sbi, int nr_shrink)
if (node_cnt + tree_cnt >= nr_shrink)
goto unlock_out;
+
+ cond_resched();
}
up_write(&sbi->extent_tree_lock);
@@ -622,6 +624,7 @@ free_node:
__detach_extent_node(sbi, en->et, en);
write_unlock(&en->et->lock);
kmem_cache_free(extent_node_slab, en);
+ cond_resched();
}
unlock_out:
--
2.6.3