summaryrefslogtreecommitdiffstats
path: root/fs/f2fs/segment.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2017-03-25 17:19:59 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2017-04-05 11:05:03 -0700
commit5f32366a29b48bf6878ede83149819e38999c2fd (patch)
tree9d84e4d042d90c623ef4333b87f70e3f27d6256f /fs/f2fs/segment.c
parent8b8dd65f72ccbf7111eb97c4c4f5b5df2a412a07 (diff)
downloadop-kernel-dev-5f32366a29b48bf6878ede83149819e38999c2fd.zip
op-kernel-dev-5f32366a29b48bf6878ede83149819e38999c2fd.tar.gz
f2fs: count discard command entry
Adds to count discard command entry and show the number in debugfs, also fix to add cost of discard command cache into total comsumed memory footprint. 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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index e9c55dd..af80d89 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -693,6 +693,8 @@ static void __add_discard_cmd(struct f2fs_sb_info *sbi,
mutex_lock(&dcc->cmd_lock);
list_add_tail(&dc->list, cmd_list);
mutex_unlock(&dcc->cmd_lock);
+
+ atomic_inc(&dcc->discard_cmd_cnt);
}
static void __remove_discard_cmd(struct f2fs_sb_info *sbi, struct discard_cmd *dc)
@@ -708,6 +710,7 @@ static void __remove_discard_cmd(struct f2fs_sb_info *sbi, struct discard_cmd *d
"Issue discard failed, ret: %d", dc->error);
list_del(&dc->list);
kmem_cache_free(discard_cmd_slab, dc);
+ atomic_dec(&SM_I(sbi)->dcc_info->discard_cmd_cnt);
}
static void f2fs_submit_discard_endio(struct bio *bio)
@@ -1145,6 +1148,7 @@ static int create_discard_cmd_control(struct f2fs_sb_info *sbi)
mutex_init(&dcc->cmd_lock);
atomic_set(&dcc->issued_discard, 0);
atomic_set(&dcc->issing_discard, 0);
+ atomic_set(&dcc->discard_cmd_cnt, 0);
dcc->nr_discards = 0;
dcc->max_discards = 0;
OpenPOWER on IntegriCloud