Lines Matching refs:lc

43 						struct f2fs_lock_context *lc)  in trace_lock_elapsed_time_start()  argument
45 lc->lock_trace = trace_f2fs_lock_elapsed_time_enabled(); in trace_lock_elapsed_time_start()
46 if (!lc->lock_trace) in trace_lock_elapsed_time_start()
49 get_lock_elapsed_time(&lc->ts); in trace_lock_elapsed_time_start()
53 struct f2fs_lock_context *lc, bool is_write) in trace_lock_elapsed_time_end() argument
63 if (!lc->lock_trace) in trace_lock_elapsed_time_end()
71 total_time = div_u64(tts.total_time - lc->ts.total_time, npm); in trace_lock_elapsed_time_end()
76 running_time = div_u64(tts.running_time - lc->ts.running_time, npm); in trace_lock_elapsed_time_end()
79 runnable_time = div_u64(tts.runnable_time - lc->ts.runnable_time, npm); in trace_lock_elapsed_time_end()
82 io_sleep_time = div_u64(tts.io_sleep_time - lc->ts.io_sleep_time, npm); in trace_lock_elapsed_time_end()
118 static void uplift_priority(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc, in uplift_priority() argument
121 lc->need_restore = false; in uplift_priority()
128 lc->orig_nice = task_nice(current); in uplift_priority()
129 lc->new_nice = PRIO_TO_NICE(sem->sbi->lock_duration_priority); in uplift_priority()
130 if (lc->orig_nice <= lc->new_nice) in uplift_priority()
132 set_user_nice(current, lc->new_nice); in uplift_priority()
133 lc->need_restore = true; in uplift_priority()
136 NICE_TO_PRIO(lc->orig_nice), NICE_TO_PRIO(lc->new_nice)); in uplift_priority()
139 static void restore_priority(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc, in restore_priority() argument
142 if (!lc->need_restore) in restore_priority()
145 if (task_nice(current) != lc->new_nice) in restore_priority()
147 set_user_nice(current, lc->orig_nice); in restore_priority()
150 NICE_TO_PRIO(lc->orig_nice), NICE_TO_PRIO(lc->new_nice)); in restore_priority()
153 void f2fs_down_read_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_down_read_trace() argument
155 uplift_priority(sem, lc, false); in f2fs_down_read_trace()
157 trace_lock_elapsed_time_start(sem, lc); in f2fs_down_read_trace()
160 int f2fs_down_read_trylock_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_down_read_trylock_trace() argument
162 uplift_priority(sem, lc, false); in f2fs_down_read_trylock_trace()
164 restore_priority(sem, lc, false); in f2fs_down_read_trylock_trace()
167 trace_lock_elapsed_time_start(sem, lc); in f2fs_down_read_trylock_trace()
171 void f2fs_up_read_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_up_read_trace() argument
174 restore_priority(sem, lc, false); in f2fs_up_read_trace()
175 trace_lock_elapsed_time_end(sem, lc, false); in f2fs_up_read_trace()
178 void f2fs_down_write_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_down_write_trace() argument
180 uplift_priority(sem, lc, true); in f2fs_down_write_trace()
182 trace_lock_elapsed_time_start(sem, lc); in f2fs_down_write_trace()
185 int f2fs_down_write_trylock_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_down_write_trylock_trace() argument
187 uplift_priority(sem, lc, true); in f2fs_down_write_trylock_trace()
189 restore_priority(sem, lc, true); in f2fs_down_write_trylock_trace()
192 trace_lock_elapsed_time_start(sem, lc); in f2fs_down_write_trylock_trace()
196 void f2fs_up_write_trace(struct f2fs_rwsem *sem, struct f2fs_lock_context *lc) in f2fs_up_write_trace() argument
199 restore_priority(sem, lc, true); in f2fs_up_write_trace()
200 trace_lock_elapsed_time_end(sem, lc, true); in f2fs_up_write_trace()
203 void f2fs_lock_op(struct f2fs_sb_info *sbi, struct f2fs_lock_context *lc) in f2fs_lock_op() argument
205 f2fs_down_read_trace(&sbi->cp_rwsem, lc); in f2fs_lock_op()
208 int f2fs_trylock_op(struct f2fs_sb_info *sbi, struct f2fs_lock_context *lc) in f2fs_trylock_op() argument
213 return f2fs_down_read_trylock_trace(&sbi->cp_rwsem, lc); in f2fs_trylock_op()
216 void f2fs_unlock_op(struct f2fs_sb_info *sbi, struct f2fs_lock_context *lc) in f2fs_unlock_op() argument
218 f2fs_up_read_trace(&sbi->cp_rwsem, lc); in f2fs_unlock_op()
580 struct f2fs_lock_context lc; in f2fs_write_meta_pages() local
593 if (!f2fs_down_write_trylock_trace(&sbi->cp_global_sem, &lc)) in f2fs_write_meta_pages()
599 f2fs_up_write_trace(&sbi->cp_global_sem, &lc); in f2fs_write_meta_pages()
1957 struct f2fs_lock_context lc; in f2fs_write_checkpoint() local
1972 f2fs_down_write_trace(&sbi->cp_global_sem, &lc); in f2fs_write_checkpoint()
2064 f2fs_up_write_trace(&sbi->cp_global_sem, &lc); in f2fs_write_checkpoint()
2110 struct f2fs_lock_context lc; in __write_checkpoint_sync() local
2113 f2fs_down_write_trace(&sbi->gc_lock, &lc); in __write_checkpoint_sync()
2115 f2fs_up_write_trace(&sbi->gc_lock, &lc); in __write_checkpoint_sync()
2203 struct f2fs_lock_context lc; in f2fs_issue_checkpoint() local
2206 f2fs_down_write_trace(&sbi->gc_lock, &lc); in f2fs_issue_checkpoint()
2208 f2fs_up_write_trace(&sbi->gc_lock, &lc); in f2fs_issue_checkpoint()