Lines Matching refs:cpc
1532 static void update_ckpt_flags(struct f2fs_sb_info *sbi, struct cp_control *cpc) in update_ckpt_flags() argument
1540 if ((cpc->reason & CP_UMOUNT) && in update_ckpt_flags()
1545 if (cpc->reason & CP_TRIMMED) in update_ckpt_flags()
1550 if (cpc->reason & CP_UMOUNT) in update_ckpt_flags()
1555 if (cpc->reason & CP_FASTBOOT) in update_ckpt_flags()
1651 static inline void stat_cp_time(struct cp_control *cpc, enum cp_time type) in stat_cp_time() argument
1653 cpc->stats.times[type] = ktime_get(); in stat_cp_time()
1656 static inline void check_cp_time(struct f2fs_sb_info *sbi, struct cp_control *cpc) in check_cp_time() argument
1663 cur_diff = (u64)ktime_ms_delta(cpc->stats.times[CP_TIME_END], in check_cp_time()
1664 cpc->stats.times[CP_TIME_START]); in check_cp_time()
1667 sbi->cp_stats = cpc->stats; in check_cp_time()
1674 (u64)ktime_ms_delta(cpc->stats.times[ct + 1], in check_cp_time()
1675 cpc->stats.times[ct])); in check_cp_time()
1679 static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc) in do_checkpoint() argument
1696 stat_cp_time(cpc, CP_TIME_SYNC_META); in do_checkpoint()
1729 if (__remain_node_summaries(cpc->reason)) in do_checkpoint()
1739 update_ckpt_flags(sbi, cpc); in do_checkpoint()
1753 if (enabled_nat_bits(sbi, cpc)) { in do_checkpoint()
1787 if (__remain_node_summaries(cpc->reason)) { in do_checkpoint()
1794 stat_cp_time(cpc, CP_TIME_SYNC_CP_META); in do_checkpoint()
1798 stat_cp_time(cpc, CP_TIME_WAIT_DIRTY_META); in do_checkpoint()
1802 stat_cp_time(cpc, CP_TIME_WAIT_CP_DATA); in do_checkpoint()
1808 stat_cp_time(cpc, CP_TIME_FLUSH_DEVICE); in do_checkpoint()
1813 stat_cp_time(cpc, CP_TIME_WAIT_LAST_CP); in do_checkpoint()
1852 int f2fs_write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc) in f2fs_write_checkpoint() argument
1859 stat_cp_time(cpc, CP_TIME_START); in f2fs_write_checkpoint()
1865 if (cpc->reason != CP_PAUSE) in f2fs_write_checkpoint()
1869 if (cpc->reason != CP_RESIZE) in f2fs_write_checkpoint()
1872 stat_cp_time(cpc, CP_TIME_LOCK); in f2fs_write_checkpoint()
1875 ((cpc->reason & CP_FASTBOOT) || (cpc->reason & CP_SYNC) || in f2fs_write_checkpoint()
1876 ((cpc->reason & CP_DISCARD) && !sbi->discard_blks))) in f2fs_write_checkpoint()
1883 trace_f2fs_write_checkpoint(sbi->sb, cpc->reason, CP_PHASE_START_BLOCK_OPS); in f2fs_write_checkpoint()
1889 stat_cp_time(cpc, CP_TIME_OP_LOCK); in f2fs_write_checkpoint()
1891 trace_f2fs_write_checkpoint(sbi->sb, cpc->reason, CP_PHASE_FINISH_BLOCK_OPS); in f2fs_write_checkpoint()
1896 if (cpc->reason & CP_DISCARD) { in f2fs_write_checkpoint()
1897 if (!f2fs_exist_trim_candidates(sbi, cpc)) { in f2fs_write_checkpoint()
1905 f2fs_flush_sit_entries(sbi, cpc); in f2fs_write_checkpoint()
1906 f2fs_clear_prefree_segments(sbi, cpc); in f2fs_write_checkpoint()
1911 stat_cp_time(cpc, CP_TIME_MERGE_WRITE); in f2fs_write_checkpoint()
1922 err = f2fs_flush_nat_entries(sbi, cpc); in f2fs_write_checkpoint()
1928 stat_cp_time(cpc, CP_TIME_FLUSH_NAT); in f2fs_write_checkpoint()
1930 f2fs_flush_sit_entries(sbi, cpc); in f2fs_write_checkpoint()
1932 stat_cp_time(cpc, CP_TIME_FLUSH_SIT); in f2fs_write_checkpoint()
1937 err = do_checkpoint(sbi, cpc); in f2fs_write_checkpoint()
1943 f2fs_clear_prefree_segments(sbi, cpc); in f2fs_write_checkpoint()
1951 stat_cp_time(cpc, CP_TIME_END); in f2fs_write_checkpoint()
1952 check_cp_time(sbi, cpc); in f2fs_write_checkpoint()
1954 if (cpc->reason & CP_RECOVERY) in f2fs_write_checkpoint()
1959 trace_f2fs_write_checkpoint(sbi->sb, cpc->reason, CP_PHASE_FINISH_CHECKPOINT); in f2fs_write_checkpoint()
1961 if (cpc->reason != CP_RESIZE) in f2fs_write_checkpoint()
2007 struct cp_control cpc = { .reason = CP_SYNC, }; in __write_checkpoint_sync() local
2012 err = f2fs_write_checkpoint(sbi, &cpc); in __write_checkpoint_sync()
2096 struct cp_control cpc; in f2fs_issue_checkpoint() local
2098 cpc.reason = __get_cp_reason(sbi); in f2fs_issue_checkpoint()
2099 if (!test_opt(sbi, MERGE_CHECKPOINT) || cpc.reason != CP_SYNC || in f2fs_issue_checkpoint()
2105 ret = f2fs_write_checkpoint(sbi, &cpc); in f2fs_issue_checkpoint()