f2fs.h (0a595ebaaa6b53a2226d3fee2a2fd616ea5ba378) f2fs.h (26a28a0c1eb756ba18bfb1f93309c4b4406b9cd9)
1/*
2 * fs/f2fs/f2fs.h
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 870 unchanged lines hidden (view full) ---

879 atomic_t inplace_count; /* # of inplace update */
880 atomic64_t total_hit_ext; /* # of lookup extent cache */
881 atomic64_t read_hit_rbtree; /* # of hit rbtree extent node */
882 atomic64_t read_hit_largest; /* # of hit largest extent node */
883 atomic64_t read_hit_cached; /* # of hit cached extent node */
884 atomic_t inline_xattr; /* # of inline_xattr inodes */
885 atomic_t inline_inode; /* # of inline_data inodes */
886 atomic_t inline_dir; /* # of inline_dentry inodes */
1/*
2 * fs/f2fs/f2fs.h
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com/
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as

--- 870 unchanged lines hidden (view full) ---

879 atomic_t inplace_count; /* # of inplace update */
880 atomic64_t total_hit_ext; /* # of lookup extent cache */
881 atomic64_t read_hit_rbtree; /* # of hit rbtree extent node */
882 atomic64_t read_hit_largest; /* # of hit largest extent node */
883 atomic64_t read_hit_cached; /* # of hit cached extent node */
884 atomic_t inline_xattr; /* # of inline_xattr inodes */
885 atomic_t inline_inode; /* # of inline_data inodes */
886 atomic_t inline_dir; /* # of inline_dentry inodes */
887 atomic_t aw_cnt; /* # of atomic writes */
888 atomic_t max_aw_cnt; /* max # of atomic writes */
887 int bg_gc; /* background gc calls */
888 unsigned int ndirty_inode[NR_INODE_TYPE]; /* # of dirty inodes */
889#endif
890 unsigned int last_victim[2]; /* last victim segment # */
891 spinlock_t stat_lock; /* lock for stat operations */
892
893 /* For sysfs suppport */
894 struct kobject s_kobj;

--- 1336 unchanged lines hidden (view full) ---

2231 int ext_tree, zombie_tree, ext_node;
2232 int ndirty_node, ndirty_dent, ndirty_meta, ndirty_data, ndirty_imeta;
2233 int inmem_pages;
2234 unsigned int ndirty_dirs, ndirty_files, ndirty_all;
2235 int nats, dirty_nats, sits, dirty_sits, free_nids, alloc_nids;
2236 int total_count, utilization;
2237 int bg_gc, nr_wb_cp_data, nr_wb_data;
2238 int inline_xattr, inline_inode, inline_dir, orphans;
889 int bg_gc; /* background gc calls */
890 unsigned int ndirty_inode[NR_INODE_TYPE]; /* # of dirty inodes */
891#endif
892 unsigned int last_victim[2]; /* last victim segment # */
893 spinlock_t stat_lock; /* lock for stat operations */
894
895 /* For sysfs suppport */
896 struct kobject s_kobj;

--- 1336 unchanged lines hidden (view full) ---

2233 int ext_tree, zombie_tree, ext_node;
2234 int ndirty_node, ndirty_dent, ndirty_meta, ndirty_data, ndirty_imeta;
2235 int inmem_pages;
2236 unsigned int ndirty_dirs, ndirty_files, ndirty_all;
2237 int nats, dirty_nats, sits, dirty_sits, free_nids, alloc_nids;
2238 int total_count, utilization;
2239 int bg_gc, nr_wb_cp_data, nr_wb_data;
2240 int inline_xattr, inline_inode, inline_dir, orphans;
2241 int aw_cnt, max_aw_cnt;
2239 unsigned int valid_count, valid_node_count, valid_inode_count, discard_blks;
2240 unsigned int bimodal, avg_vblocks;
2241 int util_free, util_valid, util_invalid;
2242 int rsvd_segs, overp_segs;
2243 int dirty_count, node_pages, meta_pages;
2244 int prefree_count, call_count, cp_count, bg_cp_count;
2245 int tot_segs, node_segs, data_segs, free_segs, free_secs;
2246 int bg_node_segs, bg_data_segs;

--- 55 unchanged lines hidden (view full) ---

2302 (atomic_dec(&F2FS_I_SB(inode)->inline_dir)); \
2303 } while (0)
2304#define stat_inc_seg_type(sbi, curseg) \
2305 ((sbi)->segment_count[(curseg)->alloc_type]++)
2306#define stat_inc_block_count(sbi, curseg) \
2307 ((sbi)->block_count[(curseg)->alloc_type]++)
2308#define stat_inc_inplace_blocks(sbi) \
2309 (atomic_inc(&(sbi)->inplace_count))
2242 unsigned int valid_count, valid_node_count, valid_inode_count, discard_blks;
2243 unsigned int bimodal, avg_vblocks;
2244 int util_free, util_valid, util_invalid;
2245 int rsvd_segs, overp_segs;
2246 int dirty_count, node_pages, meta_pages;
2247 int prefree_count, call_count, cp_count, bg_cp_count;
2248 int tot_segs, node_segs, data_segs, free_segs, free_secs;
2249 int bg_node_segs, bg_data_segs;

--- 55 unchanged lines hidden (view full) ---

2305 (atomic_dec(&F2FS_I_SB(inode)->inline_dir)); \
2306 } while (0)
2307#define stat_inc_seg_type(sbi, curseg) \
2308 ((sbi)->segment_count[(curseg)->alloc_type]++)
2309#define stat_inc_block_count(sbi, curseg) \
2310 ((sbi)->block_count[(curseg)->alloc_type]++)
2311#define stat_inc_inplace_blocks(sbi) \
2312 (atomic_inc(&(sbi)->inplace_count))
2313#define stat_inc_atomic_write(inode) \
2314 (atomic_inc(&F2FS_I_SB(inode)->aw_cnt));
2315#define stat_dec_atomic_write(inode) \
2316 (atomic_dec(&F2FS_I_SB(inode)->aw_cnt));
2317#define stat_update_max_atomic_write(inode) \
2318 do { \
2319 int cur = atomic_read(&F2FS_I_SB(inode)->aw_cnt); \
2320 int max = atomic_read(&F2FS_I_SB(inode)->max_aw_cnt); \
2321 if (cur > max) \
2322 atomic_set(&F2FS_I_SB(inode)->max_aw_cnt, cur); \
2323 } while (0)
2310#define stat_inc_seg_count(sbi, type, gc_type) \
2311 do { \
2312 struct f2fs_stat_info *si = F2FS_STAT(sbi); \
2313 (si)->tot_segs++; \
2314 if (type == SUM_TYPE_DATA) { \
2315 si->data_segs++; \
2316 si->bg_data_segs += (gc_type == BG_GC) ? 1 : 0; \
2317 } else { \

--- 37 unchanged lines hidden (view full) ---

2355#define stat_inc_largest_node_hit(sbi)
2356#define stat_inc_cached_node_hit(sbi)
2357#define stat_inc_inline_xattr(inode)
2358#define stat_dec_inline_xattr(inode)
2359#define stat_inc_inline_inode(inode)
2360#define stat_dec_inline_inode(inode)
2361#define stat_inc_inline_dir(inode)
2362#define stat_dec_inline_dir(inode)
2324#define stat_inc_seg_count(sbi, type, gc_type) \
2325 do { \
2326 struct f2fs_stat_info *si = F2FS_STAT(sbi); \
2327 (si)->tot_segs++; \
2328 if (type == SUM_TYPE_DATA) { \
2329 si->data_segs++; \
2330 si->bg_data_segs += (gc_type == BG_GC) ? 1 : 0; \
2331 } else { \

--- 37 unchanged lines hidden (view full) ---

2369#define stat_inc_largest_node_hit(sbi)
2370#define stat_inc_cached_node_hit(sbi)
2371#define stat_inc_inline_xattr(inode)
2372#define stat_dec_inline_xattr(inode)
2373#define stat_inc_inline_inode(inode)
2374#define stat_dec_inline_inode(inode)
2375#define stat_inc_inline_dir(inode)
2376#define stat_dec_inline_dir(inode)
2377#define stat_inc_atomic_write(inode)
2378#define stat_dec_atomic_write(inode)
2379#define stat_update_max_atomic_write(inode)
2363#define stat_inc_seg_type(sbi, curseg)
2364#define stat_inc_block_count(sbi, curseg)
2365#define stat_inc_inplace_blocks(sbi)
2366#define stat_inc_seg_count(sbi, type, gc_type)
2367#define stat_inc_tot_blk_count(si, blks)
2368#define stat_inc_data_blk_count(sbi, blks, gc_type)
2369#define stat_inc_node_blk_count(sbi, blks, gc_type)
2370

--- 169 unchanged lines hidden ---
2380#define stat_inc_seg_type(sbi, curseg)
2381#define stat_inc_block_count(sbi, curseg)
2382#define stat_inc_inplace_blocks(sbi)
2383#define stat_inc_seg_count(sbi, type, gc_type)
2384#define stat_inc_tot_blk_count(si, blks)
2385#define stat_inc_data_blk_count(sbi, blks, gc_type)
2386#define stat_inc_node_blk_count(sbi, blks, gc_type)
2387

--- 169 unchanged lines hidden ---