mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 07:15:07 +07:00
fc7100ea2a
Currently f2fs stats are only available from /d/f2fs/status. This patch adds some of the f2fs stats to sysfs so that they are accessible even when debugfs is not mounted. The following sysfs nodes are added: -/sys/fs/f2fs/<disk>/free_segments -/sys/fs/f2fs/<disk>/cp_foreground_calls -/sys/fs/f2fs/<disk>/cp_background_calls -/sys/fs/f2fs/<disk>/gc_foreground_calls -/sys/fs/f2fs/<disk>/gc_background_calls -/sys/fs/f2fs/<disk>/moved_blocks_foreground -/sys/fs/f2fs/<disk>/moved_blocks_background -/sys/fs/f2fs/<disk>/avg_vblocks Signed-off-by: Hridya Valsaraju <hridya@google.com> [Jaegeuk Kim: allow STAT_FS without DEBUG_FS] Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
321 lines
12 KiB
Plaintext
321 lines
12 KiB
Plaintext
What: /sys/fs/f2fs/<disk>/gc_max_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description: Controls the maximum sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_min_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description: Controls the minimum sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_no_gc_sleep_time
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description: Controls the default sleep time for gc_thread. Time
|
|
is in milliseconds.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_idle
|
|
Date: July 2013
|
|
Contact: "Namjae Jeon" <namjae.jeon@samsung.com>
|
|
Description: Controls the victim selection policy for garbage collection.
|
|
Setting gc_idle = 0(default) will disable this option. Setting
|
|
gc_idle = 1 will select the Cost Benefit approach & setting
|
|
gc_idle = 2 will select the greedy approach.
|
|
|
|
What: /sys/fs/f2fs/<disk>/reclaim_segments
|
|
Date: October 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: This parameter controls the number of prefree segments to be
|
|
reclaimed. If the number of prefree segments is larger than
|
|
the number of segments in the proportion to the percentage
|
|
over total volume size, f2fs tries to conduct checkpoint to
|
|
reclaim the prefree segments to free segments.
|
|
By default, 5% over total # of segments.
|
|
|
|
What: /sys/fs/f2fs/<disk>/main_blkaddr
|
|
Date: November 2019
|
|
Contact: "Ramon Pantin" <pantin@google.com>
|
|
Description:
|
|
Shows first block address of MAIN area.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ipu_policy
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the in-place-update policy.
|
|
updates in f2fs. User can set:
|
|
0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
|
|
0x04: F2FS_IPU_UTIL, 0x08: F2FS_IPU_SSR_UTIL,
|
|
0x10: F2FS_IPU_FSYNC, 0x20: F2FS_IPU_ASYNC,
|
|
0x40: F2FS_IPU_NOCACHE.
|
|
Refer segment.h for details.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_ipu_util
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the FS utilization condition for the in-place-update
|
|
policies. It is used by F2FS_IPU_UTIL and F2FS_IPU_SSR_UTIL policies.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_fsync_blocks
|
|
Date: September 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the dirty page count condition for the in-place-update
|
|
policies.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_seq_blocks
|
|
Date: August 2018
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the dirty page count condition for batched sequential
|
|
writes in writepages.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_hot_blocks
|
|
Date: March 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the dirty page count condition for redefining hot data.
|
|
|
|
What: /sys/fs/f2fs/<disk>/min_ssr_sections
|
|
Date: October 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Controls the free section threshold to trigger SSR allocation.
|
|
If this is large, SSR mode will be enabled early.
|
|
|
|
What: /sys/fs/f2fs/<disk>/max_small_discards
|
|
Date: November 2013
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the issue rate of discard commands that consist of small
|
|
blocks less than 2MB. The candidates to be discarded are cached until
|
|
checkpoint is triggered, and issued during the checkpoint.
|
|
By default, it is disabled with 0.
|
|
|
|
What: /sys/fs/f2fs/<disk>/discard_granularity
|
|
Date: July 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Controls discard granularity of inner discard thread. Inner thread
|
|
will not issue discards with size that is smaller than granularity.
|
|
The unit size is one block(4KB), now only support configuring
|
|
in range of [1, 512]. Default value is 4(=16KB).
|
|
|
|
What: /sys/fs/f2fs/<disk>/umount_discard_timeout
|
|
Date: January 2019
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Set timeout to issue discard commands during umount.
|
|
Default: 5 secs
|
|
|
|
What: /sys/fs/f2fs/<disk>/max_victim_search
|
|
Date: January 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the number of trials to find a victim segment
|
|
when conducting SSR and cleaning operations. The default value
|
|
is 4096 which covers 8GB block address range.
|
|
|
|
What: /sys/fs/f2fs/<disk>/migration_granularity
|
|
Date: October 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Controls migration granularity of garbage collection on large
|
|
section, it can let GC move partial segment{s} of one section
|
|
in one GC cycle, so that dispersing heavy overhead GC to
|
|
multiple lightweight one.
|
|
|
|
What: /sys/fs/f2fs/<disk>/dir_level
|
|
Date: March 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the directory level for large directory. If a
|
|
directory has a number of files, it can reduce the file lookup
|
|
latency by increasing this dir_level value. Otherwise, it
|
|
needs to decrease this value to reduce the space overhead.
|
|
The default value is 0.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ram_thresh
|
|
Date: March 2014
|
|
Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
|
|
Description: Controls the memory footprint used by free nids and cached
|
|
nat entries. By default, 1 is set, which indicates
|
|
10 MB / 1 GB RAM.
|
|
|
|
What: /sys/fs/f2fs/<disk>/batched_trim_sections
|
|
Date: February 2015
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the trimming rate in batch mode.
|
|
<deprecated>
|
|
|
|
What: /sys/fs/f2fs/<disk>/cp_interval
|
|
Date: October 2015
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the checkpoint timing, set to 60 seconds by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/idle_interval
|
|
Date: January 2016
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls the idle timing of system, if there is no FS operation
|
|
during given interval.
|
|
Set to 5 seconds by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/discard_idle_interval
|
|
Date: September 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Contact: "Sahitya Tummala" <stummala@codeaurora.org>
|
|
Description: Controls the idle timing of discard thread given
|
|
this time interval.
|
|
Default is 5 secs.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_idle_interval
|
|
Date: September 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Contact: "Sahitya Tummala" <stummala@codeaurora.org>
|
|
Description: Controls the idle timing for gc path. Set to 5 seconds by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/iostat_enable
|
|
Date: August 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Controls to enable/disable IO stat.
|
|
|
|
What: /sys/fs/f2fs/<disk>/ra_nid_pages
|
|
Date: October 2015
|
|
Contact: "Chao Yu" <chao2.yu@samsung.com>
|
|
Description: Controls the count of nid pages to be readaheaded.
|
|
When building free nids, F2FS reads NAT blocks ahead for
|
|
speed up. Default is 0.
|
|
|
|
What: /sys/fs/f2fs/<disk>/dirty_nats_ratio
|
|
Date: January 2016
|
|
Contact: "Chao Yu" <chao2.yu@samsung.com>
|
|
Description: Controls dirty nat entries ratio threshold, if current
|
|
ratio exceeds configured threshold, checkpoint will
|
|
be triggered for flushing dirty nat entries.
|
|
|
|
What: /sys/fs/f2fs/<disk>/lifetime_write_kbytes
|
|
Date: January 2016
|
|
Contact: "Shuoran Liu" <liushuoran@huawei.com>
|
|
Description: Shows total written kbytes issued to disk.
|
|
|
|
What: /sys/fs/f2fs/<disk>/features
|
|
Date: July 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Shows all enabled features in current device.
|
|
|
|
What: /sys/fs/f2fs/<disk>/inject_rate
|
|
Date: May 2016
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description: Controls the injection rate of arbitrary faults.
|
|
|
|
What: /sys/fs/f2fs/<disk>/inject_type
|
|
Date: May 2016
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description: Controls the injection type of arbitrary faults.
|
|
|
|
What: /sys/fs/f2fs/<disk>/dirty_segments
|
|
Date: October 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Shows the number of dirty segments.
|
|
|
|
What: /sys/fs/f2fs/<disk>/reserved_blocks
|
|
Date: June 2017
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Controls target reserved blocks in system, the threshold
|
|
is soft, it could exceed current available user space.
|
|
|
|
What: /sys/fs/f2fs/<disk>/current_reserved_blocks
|
|
Date: October 2017
|
|
Contact: "Yunlong Song" <yunlong.song@huawei.com>
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Shows current reserved blocks in system, it may be temporarily
|
|
smaller than target_reserved_blocks, but will gradually
|
|
increase to target_reserved_blocks when more free blocks are
|
|
freed by user later.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_urgent
|
|
Date: August 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Do background GC agressively when set. When gc_urgent = 1,
|
|
background thread starts to do GC by given gc_urgent_sleep_time
|
|
interval. It is set to 0 by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_urgent_sleep_time
|
|
Date: August 2017
|
|
Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
|
|
Description: Controls sleep time of GC urgent mode. Set to 500ms by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/readdir_ra
|
|
Date: November 2017
|
|
Contact: "Sheng Yong" <shengyong1@huawei.com>
|
|
Description: Controls readahead inode block in readdir. Enabled by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_pin_file_thresh
|
|
Date: January 2018
|
|
Contact: Jaegeuk Kim <jaegeuk@kernel.org>
|
|
Description: This indicates how many GC can be failed for the pinned
|
|
file. If it exceeds this, F2FS doesn't guarantee its pinning
|
|
state. 2048 trials is set by default.
|
|
|
|
What: /sys/fs/f2fs/<disk>/extension_list
|
|
Date: Feburary 2018
|
|
Contact: "Chao Yu" <yuchao0@huawei.com>
|
|
Description: Used to control configure extension list:
|
|
- Query: cat /sys/fs/f2fs/<disk>/extension_list
|
|
- Add: echo '[h/c]extension' > /sys/fs/f2fs/<disk>/extension_list
|
|
- Del: echo '[h/c]!extension' > /sys/fs/f2fs/<disk>/extension_list
|
|
- [h] means add/del hot file extension
|
|
- [c] means add/del cold file extension
|
|
|
|
What: /sys/fs/f2fs/<disk>/unusable
|
|
Date April 2019
|
|
Contact: "Daniel Rosenberg" <drosen@google.com>
|
|
Description: If checkpoint=disable, it displays the number of blocks that
|
|
are unusable.
|
|
If checkpoint=enable it displays the enumber of blocks that
|
|
would be unusable if checkpoint=disable were to be set.
|
|
|
|
What: /sys/fs/f2fs/<disk>/encoding
|
|
Date July 2019
|
|
Contact: "Daniel Rosenberg" <drosen@google.com>
|
|
Description: Displays name and version of the encoding set for the filesystem.
|
|
If no encoding is set, displays (none)
|
|
|
|
What: /sys/fs/f2fs/<disk>/free_segments
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of free segments in disk.
|
|
|
|
What: /sys/fs/f2fs/<disk>/cp_foreground_calls
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of checkpoint operations performed on demand. Available when
|
|
CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/cp_background_calls
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of checkpoint operations performed in the background to
|
|
free segments. Available when CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_foreground_calls
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of garbage collection operations performed on demand.
|
|
Available when CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/gc_background_calls
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of garbage collection operations triggered in background.
|
|
Available when CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/moved_blocks_foreground
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of blocks moved by garbage collection in foreground.
|
|
Available when CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/moved_blocks_background
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Number of blocks moved by garbage collection in background.
|
|
Available when CONFIG_F2FS_STAT_FS=y.
|
|
|
|
What: /sys/fs/f2fs/<disk>/avg_vblocks
|
|
Date: September 2019
|
|
Contact: "Hridya Valsaraju" <hridya@google.com>
|
|
Description: Average number of valid blocks.
|
|
Available when CONFIG_F2FS_STAT_FS=y.
|