Message ID | 20230213141825.22858-1-frank.li@vivo.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f2e357893cb7d15994e4ec10838ebb4dccf7eb6e |
Headers | show |
Series | [f2fs-dev,v3,1/2] f2fs: export ipu policy in debugfs | expand |
On 2023/2/13 22:18, Yangtao Li wrote: > Export ipu_policy as a string in debugfs for better readability and > it can help us better understand some strategies of the file system. > > Signed-off-by: Yangtao Li <frank.li@vivo.com> Reviewed-by: Chao Yu <chao@kernel.org> Thanks,
Hello: This series was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Mon, 13 Feb 2023 22:18:24 +0800 you wrote: > Export ipu_policy as a string in debugfs for better readability and > it can help us better understand some strategies of the file system. > > Signed-off-by: Yangtao Li <frank.li@vivo.com> > --- > v3: > - remove unnecessary '\n' > fs/f2fs/debug.c | 24 ++++++++++++++++++++++++ > fs/f2fs/segment.h | 1 + > 2 files changed, 25 insertions(+) Here is the summary with links: - [f2fs-dev,v3,1/2] f2fs: export ipu policy in debugfs https://git.kernel.org/jaegeuk/f2fs/c/f2e357893cb7 - [f2fs-dev,v3,2/2] f2fs: replace si->sbi w/ sbi in stat_show() https://git.kernel.org/jaegeuk/f2fs/c/dda7d77bcd42 You are awesome, thank you!
diff --git a/fs/f2fs/debug.c b/fs/f2fs/debug.c index 32af4f0c5735..ff5995cb9560 100644 --- a/fs/f2fs/debug.c +++ b/fs/f2fs/debug.c @@ -354,6 +354,17 @@ static char *s_flag[] = { [SBI_IS_FREEZING] = " freezefs", }; +static const char *ipu_mode_names[F2FS_IPU_MAX] = { + [F2FS_IPU_FORCE] = "FORCE", + [F2FS_IPU_SSR] = "SSR", + [F2FS_IPU_UTIL] = "UTIL", + [F2FS_IPU_SSR_UTIL] = "SSR_UTIL", + [F2FS_IPU_FSYNC] = "FSYNC", + [F2FS_IPU_ASYNC] = "ASYNC", + [F2FS_IPU_NOCACHE] = "NOCACHE", + [F2FS_IPU_HONOR_OPU_WRITE] = "HONOR_OPU_WRITE", +}; + static int stat_show(struct seq_file *s, void *v) { struct f2fs_stat_info *si; @@ -384,6 +395,19 @@ static int stat_show(struct seq_file *s, void *v) seq_printf(s, "Current Time Sec: %llu / Mounted Time Sec: %llu\n\n", ktime_get_boottime_seconds(), SIT_I(si->sbi)->mounted_time); + + seq_puts(s, "Policy:\n"); + seq_puts(s, " - IPU: ["); + if (IS_F2FS_IPU_DISABLE(si->sbi)) { + seq_puts(s, " DISABLE"); + } else { + unsigned long policy = SM_I(si->sbi)->ipu_policy; + + for_each_set_bit(j, &policy, F2FS_IPU_MAX) + seq_printf(s, " %s", ipu_mode_names[j]); + } + seq_puts(s, " ]\n\n"); + if (test_opt(si->sbi, DISCARD)) seq_printf(s, "Utilization: %u%% (%u valid blocks, %u discard blocks)\n", si->utilization, si->valid_count, si->discard_blks); diff --git a/fs/f2fs/segment.h b/fs/f2fs/segment.h index 6003fbaf4b7d..7230d0c6c138 100644 --- a/fs/f2fs/segment.h +++ b/fs/f2fs/segment.h @@ -672,6 +672,7 @@ static inline int utilization(struct f2fs_sb_info *sbi) #define F2FS_IPU_DISABLE 0 +/* Modification on enum should be synchronized with ipu_mode_names array */ enum { F2FS_IPU_FORCE, F2FS_IPU_SSR,
Export ipu_policy as a string in debugfs for better readability and it can help us better understand some strategies of the file system. Signed-off-by: Yangtao Li <frank.li@vivo.com> --- v3: - remove unnecessary '\n' fs/f2fs/debug.c | 24 ++++++++++++++++++++++++ fs/f2fs/segment.h | 1 + 2 files changed, 25 insertions(+)