aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/debug.c
diff options
context:
space:
mode:
authorChao Yu <yuchao0@huawei.com>2017-03-25 05:19:59 -0400
committerJaegeuk Kim <jaegeuk@kernel.org>2017-04-05 14:05:03 -0400
commit5f32366a29b48bf6878ede83149819e38999c2fd (patch)
tree9d84e4d042d90c623ef4333b87f70e3f27d6256f /fs/f2fs/debug.c
parent8b8dd65f72ccbf7111eb97c4c4f5b5df2a412a07 (diff)
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/debug.c')
-rw-r--r--fs/f2fs/debug.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/f2fs/debug.c b/fs/f2fs/debug.c
index f27e66ea7ff3..906f627e44fc 100644
--- a/fs/f2fs/debug.c
+++ b/fs/f2fs/debug.c
@@ -67,6 +67,8 @@ static void update_general_status(struct f2fs_sb_info *sbi)
67 atomic_read(&SM_I(sbi)->dcc_info->issued_discard); 67 atomic_read(&SM_I(sbi)->dcc_info->issued_discard);
68 si->nr_discarding = 68 si->nr_discarding =
69 atomic_read(&SM_I(sbi)->dcc_info->issing_discard); 69 atomic_read(&SM_I(sbi)->dcc_info->issing_discard);
70 si->nr_discard_cmd =
71 atomic_read(&SM_I(sbi)->dcc_info->discard_cmd_cnt);
70 } 72 }
71 si->total_count = (int)sbi->user_block_count / sbi->blocks_per_seg; 73 si->total_count = (int)sbi->user_block_count / sbi->blocks_per_seg;
72 si->rsvd_segs = reserved_segments(sbi); 74 si->rsvd_segs = reserved_segments(sbi);
@@ -220,8 +222,11 @@ get_cache:
220 /* build merge flush thread */ 222 /* build merge flush thread */
221 if (SM_I(sbi)->fcc_info) 223 if (SM_I(sbi)->fcc_info)
222 si->cache_mem += sizeof(struct flush_cmd_control); 224 si->cache_mem += sizeof(struct flush_cmd_control);
223 if (SM_I(sbi)->dcc_info) 225 if (SM_I(sbi)->dcc_info) {
224 si->cache_mem += sizeof(struct discard_cmd_control); 226 si->cache_mem += sizeof(struct discard_cmd_control);
227 si->cache_mem += sizeof(struct discard_cmd) *
228 atomic_read(&SM_I(sbi)->dcc_info->discard_cmd_cnt);
229 }
225 230
226 /* free nids */ 231 /* free nids */
227 si->cache_mem += (NM_I(sbi)->nid_cnt[FREE_NID_LIST] + 232 si->cache_mem += (NM_I(sbi)->nid_cnt[FREE_NID_LIST] +
@@ -343,10 +348,11 @@ static int stat_show(struct seq_file *s, void *v)
343 si->ext_tree, si->zombie_tree, si->ext_node); 348 si->ext_tree, si->zombie_tree, si->ext_node);
344 seq_puts(s, "\nBalancing F2FS Async:\n"); 349 seq_puts(s, "\nBalancing F2FS Async:\n");
345 seq_printf(s, " - IO (CP: %4d, Data: %4d, Flush: (%4d %4d), " 350 seq_printf(s, " - IO (CP: %4d, Data: %4d, Flush: (%4d %4d), "
346 "Discard: (%4d %4d))\n", 351 "Discard: (%4d %4d)) cmd: %4d\n",
347 si->nr_wb_cp_data, si->nr_wb_data, 352 si->nr_wb_cp_data, si->nr_wb_data,
348 si->nr_flushing, si->nr_flushed, 353 si->nr_flushing, si->nr_flushed,
349 si->nr_discarding, si->nr_discarded); 354 si->nr_discarding, si->nr_discarded,
355 si->nr_discard_cmd);
350 seq_printf(s, " - inmem: %4d, atomic IO: %4d (Max. %4d), " 356 seq_printf(s, " - inmem: %4d, atomic IO: %4d (Max. %4d), "
351 "volatile IO: %4d (Max. %4d)\n", 357 "volatile IO: %4d (Max. %4d)\n",
352 si->inmem_pages, si->aw_cnt, si->max_aw_cnt, 358 si->inmem_pages, si->aw_cnt, si->max_aw_cnt,