diff options
author | Chao Yu <yuchao0@huawei.com> | 2017-04-25 00:21:34 +0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2017-04-25 14:18:44 -0700 |
commit | 34e159da418be46986456daf21a339932f349b63 (patch) | |
tree | 987ee675f3d5d2a7b537cf2b0607f46d785ebdb0 /fs/f2fs/segment.c | |
parent | 66a82d1fc7e058b28189fe068f2a5efd9abc719a (diff) |
f2fs: delay awaking discard thread
It's better to delay awaking discard thread while queuing discard commands
in checkpoint, it will help to give more chances for merging big and small
discard.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/segment.c')
-rw-r--r-- | fs/f2fs/segment.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 45da59b72035..b27ae5f6a87f 100644 --- a/fs/f2fs/segment.c +++ b/fs/f2fs/segment.c @@ -968,7 +968,6 @@ static int __queue_discard_cmd(struct f2fs_sb_info *sbi, blkstart -= FDEV(devi).start_blk; } __update_discard_tree_range(sbi, bdev, lblkstart, blkstart, blklen); - wake_up(&SM_I(sbi)->dcc_info->discard_wait_queue); return 0; } @@ -1335,6 +1334,8 @@ skip: SM_I(sbi)->dcc_info->nr_discards -= total_len; kmem_cache_free(discard_entry_slab, entry); } + + wake_up(&SM_I(sbi)->dcc_info->discard_wait_queue); } static int create_discard_cmd_control(struct f2fs_sb_info *sbi) |