|
@@ -818,7 +818,7 @@ struct f2fs_sb_info {
|
|
atomic_t inline_inode; /* # of inline_data inodes */
|
|
atomic_t inline_inode; /* # of inline_data inodes */
|
|
atomic_t inline_dir; /* # of inline_dentry inodes */
|
|
atomic_t inline_dir; /* # of inline_dentry inodes */
|
|
int bg_gc; /* background gc calls */
|
|
int bg_gc; /* background gc calls */
|
|
- unsigned int n_dirty_dirs; /* # of dir inodes */
|
|
|
|
|
|
+ unsigned int ndirty_inode[NR_INODE_TYPE]; /* # of dirty inodes */
|
|
#endif
|
|
#endif
|
|
unsigned int last_victim[2]; /* last victim segment # */
|
|
unsigned int last_victim[2]; /* last victim segment # */
|
|
spinlock_t stat_lock; /* lock for stat operations */
|
|
spinlock_t stat_lock; /* lock for stat operations */
|
|
@@ -1888,7 +1888,8 @@ struct f2fs_stat_info {
|
|
unsigned long long hit_largest, hit_cached, hit_rbtree;
|
|
unsigned long long hit_largest, hit_cached, hit_rbtree;
|
|
unsigned long long hit_total, total_ext;
|
|
unsigned long long hit_total, total_ext;
|
|
int ext_tree, ext_node;
|
|
int ext_tree, ext_node;
|
|
- int ndirty_node, ndirty_dent, ndirty_dirs, ndirty_meta;
|
|
|
|
|
|
+ int ndirty_node, ndirty_meta;
|
|
|
|
+ int ndirty_dent, ndirty_dirs, ndirty_data, ndirty_files;
|
|
int nats, dirty_nats, sits, dirty_sits, fnids;
|
|
int nats, dirty_nats, sits, dirty_sits, fnids;
|
|
int total_count, utilization;
|
|
int total_count, utilization;
|
|
int bg_gc, inmem_pages, wb_pages;
|
|
int bg_gc, inmem_pages, wb_pages;
|
|
@@ -1921,8 +1922,8 @@ static inline struct f2fs_stat_info *F2FS_STAT(struct f2fs_sb_info *sbi)
|
|
#define stat_inc_cp_count(si) ((si)->cp_count++)
|
|
#define stat_inc_cp_count(si) ((si)->cp_count++)
|
|
#define stat_inc_call_count(si) ((si)->call_count++)
|
|
#define stat_inc_call_count(si) ((si)->call_count++)
|
|
#define stat_inc_bggc_count(sbi) ((sbi)->bg_gc++)
|
|
#define stat_inc_bggc_count(sbi) ((sbi)->bg_gc++)
|
|
-#define stat_inc_dirty_dir(sbi) ((sbi)->n_dirty_dirs++)
|
|
|
|
-#define stat_dec_dirty_dir(sbi) ((sbi)->n_dirty_dirs--)
|
|
|
|
|
|
+#define stat_inc_dirty_inode(sbi, type) ((sbi)->ndirty_inode[type]++)
|
|
|
|
+#define stat_dec_dirty_inode(sbi, type) ((sbi)->ndirty_inode[type]--)
|
|
#define stat_inc_total_hit(sbi) (atomic64_inc(&(sbi)->total_hit_ext))
|
|
#define stat_inc_total_hit(sbi) (atomic64_inc(&(sbi)->total_hit_ext))
|
|
#define stat_inc_rbtree_node_hit(sbi) (atomic64_inc(&(sbi)->read_hit_rbtree))
|
|
#define stat_inc_rbtree_node_hit(sbi) (atomic64_inc(&(sbi)->read_hit_rbtree))
|
|
#define stat_inc_largest_node_hit(sbi) (atomic64_inc(&(sbi)->read_hit_largest))
|
|
#define stat_inc_largest_node_hit(sbi) (atomic64_inc(&(sbi)->read_hit_largest))
|
|
@@ -2003,8 +2004,8 @@ void f2fs_destroy_root_stats(void);
|
|
#define stat_inc_cp_count(si)
|
|
#define stat_inc_cp_count(si)
|
|
#define stat_inc_call_count(si)
|
|
#define stat_inc_call_count(si)
|
|
#define stat_inc_bggc_count(si)
|
|
#define stat_inc_bggc_count(si)
|
|
-#define stat_inc_dirty_dir(sbi)
|
|
|
|
-#define stat_dec_dirty_dir(sbi)
|
|
|
|
|
|
+#define stat_inc_dirty_inode(sbi, type)
|
|
|
|
+#define stat_dec_dirty_inode(sbi, type)
|
|
#define stat_inc_total_hit(sb)
|
|
#define stat_inc_total_hit(sb)
|
|
#define stat_inc_rbtree_node_hit(sb)
|
|
#define stat_inc_rbtree_node_hit(sb)
|
|
#define stat_inc_largest_node_hit(sbi)
|
|
#define stat_inc_largest_node_hit(sbi)
|