Lines Matching full:now
254 u64 now, state_start; in get_recent_times() local
264 now = cpu_clock(cpu); in get_recent_times()
283 times[s] += now - state_start; in get_recent_times()
369 static u64 update_averages(struct psi_group *group, u64 now) in update_averages() argument
378 if (now - expires >= psi_period) in update_averages()
379 missed_periods = div_u64(now - expires, psi_period); in update_averages()
389 period = now - (group->avg_last_update + (missed_periods * psi_period)); in update_averages()
390 group->avg_last_update = now; in update_averages()
428 u64 now; in psi_avgs_work() local
435 now = sched_clock(); in psi_avgs_work()
446 if (now >= group->avg_next_update) in psi_avgs_work()
447 group->avg_next_update = update_averages(group, now); in psi_avgs_work()
451 group->avg_next_update - now) + 1); in psi_avgs_work()
458 static void window_reset(struct psi_window *win, u64 now, u64 value, in window_reset() argument
461 win->start_time = now; in window_reset()
477 static u64 window_update(struct psi_window *win, u64 now, u64 value) in window_update() argument
482 elapsed = now - win->start_time; in window_update()
492 window_reset(win, now, value, growth); in window_update()
503 static void init_triggers(struct psi_group *group, u64 now) in init_triggers() argument
508 window_reset(&t->win, now, in init_triggers()
512 group->polling_next_update = now + group->poll_min_period; in init_triggers()
515 static u64 update_triggers(struct psi_group *group, u64 now) in update_triggers() argument
541 growth = window_update(&t->win, now, total[t->state]); in update_triggers()
546 if (now < t->last_event_time + t->win.size) in update_triggers()
552 t->last_event_time = now; in update_triggers()
559 return now + group->poll_min_period; in update_triggers()
592 u64 now; in psi_poll_work() local
596 now = sched_clock(); in psi_poll_work()
602 if (now > group->polling_until) in psi_poll_work()
603 init_triggers(group, now); in psi_poll_work()
610 group->polling_until = now + in psi_poll_work()
614 if (now > group->polling_until) { in psi_poll_work()
619 if (now >= group->polling_next_update) in psi_poll_work()
620 group->polling_next_update = update_triggers(group, now); in psi_poll_work()
623 nsecs_to_jiffies(group->polling_next_update - now) + 1); in psi_poll_work()
655 static void record_times(struct psi_group_cpu *groupc, u64 now) in record_times() argument
659 delta = now - groupc->state_start; in record_times()
660 groupc->state_start = now; in record_times()
685 unsigned int clear, unsigned int set, u64 now, in psi_group_change() argument
705 record_times(groupc, now); in psi_group_change()
798 u64 now; in psi_task_change() local
805 now = cpu_clock(cpu); in psi_task_change()
818 psi_group_change(group, cpu, clear, set, now, wake_clock); in psi_task_change()
827 u64 now = cpu_clock(cpu); in psi_task_switch() local
849 psi_group_change(group, cpu, 0, TSK_ONCPU, now, true); in psi_task_switch()
871 psi_group_change(group, cpu, clear, set, now, true); in psi_task_switch()
880 psi_group_change(group, cpu, clear, set, now, true); in psi_task_switch()
965 /* All triggers must be removed by now */ in psi_cgroup_free()
1040 u64 now; in psi_show() local
1047 now = sched_clock(); in psi_show()
1049 if (now >= group->avg_next_update) in psi_show()
1050 group->avg_next_update = update_averages(group, now); in psi_show()