f2fs: shrink blk plug region
Don't use blk plug covering area where there won't be any IOs being issued.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 471ea99..58cfbe3 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -853,9 +853,8 @@ static int issue_discard_thread(void *data)
if (kthread_should_stop())
return 0;
- blk_start_plug(&plug);
-
mutex_lock(&dcc->cmd_lock);
+ blk_start_plug(&plug);
list_for_each_entry_safe(dc, tmp, pend_list, list) {
f2fs_bug_on(sbi, dc->state != D_PREP);
@@ -865,6 +864,7 @@ static int issue_discard_thread(void *data)
if (iter++ > DISCARD_ISSUE_RATE)
break;
}
+ blk_finish_plug(&plug);
list_for_each_entry_safe(dc, tmp, wait_list, list) {
if (dc->state == D_DONE) {
@@ -874,8 +874,6 @@ static int issue_discard_thread(void *data)
}
mutex_unlock(&dcc->cmd_lock);
- blk_finish_plug(&plug);
-
iter = 0;
congestion_wait(BLK_RW_SYNC, HZ/50);