Lines Matching refs:it
70 if (timer->it.cpu.incr == 0) in bump_cpu_timer()
73 if (now < timer->it.cpu.expires) in bump_cpu_timer()
76 incr = timer->it.cpu.incr; in bump_cpu_timer()
77 delta = now + incr - timer->it.cpu.expires; in bump_cpu_timer()
87 timer->it.cpu.expires += incr; in bump_cpu_timer()
334 INIT_LIST_HEAD(&new_timer->it.cpu.entry); in posix_cpu_timer_create()
354 new_timer->it.cpu.task = p; in posix_cpu_timer_create()
376 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_del()
390 WARN_ON_ONCE(!list_empty(&timer->it.cpu.entry)); in posix_cpu_timer_del()
392 if (timer->it.cpu.firing) in posix_cpu_timer_del()
395 list_del(&timer->it.cpu.entry); in posix_cpu_timer_del()
452 struct task_struct *p = timer->it.cpu.task; in arm_timer()
455 struct cpu_timer_list *const nt = &timer->it.cpu; in arm_timer()
515 timer->it.cpu.expires = 0; in cpu_timer_fire()
522 timer->it.cpu.expires = 0; in cpu_timer_fire()
523 } else if (timer->it.cpu.incr == 0) { in cpu_timer_fire()
528 timer->it.cpu.expires = 0; in cpu_timer_fire()
579 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_set()
609 old_incr = timer->it.cpu.incr; in posix_cpu_timer_set()
610 old_expires = timer->it.cpu.expires; in posix_cpu_timer_set()
611 if (unlikely(timer->it.cpu.firing)) { in posix_cpu_timer_set()
612 timer->it.cpu.firing = -1; in posix_cpu_timer_set()
615 list_del_init(&timer->it.cpu.entry); in posix_cpu_timer_set()
647 if (val < timer->it.cpu.expires) { in posix_cpu_timer_set()
648 old_expires = timer->it.cpu.expires - val; in posix_cpu_timer_set()
677 timer->it.cpu.expires = new_expires; in posix_cpu_timer_set()
687 timer->it.cpu.incr = timespec64_to_ns(&new->it_interval); in posix_cpu_timer_set()
719 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_get()
726 itp->it_interval = ns_to_timespec64(timer->it.cpu.incr); in posix_cpu_timer_get()
728 if (!timer->it.cpu.expires) in posix_cpu_timer_get()
752 timer->it.cpu.expires = 0; in posix_cpu_timer_get()
760 if (now < timer->it.cpu.expires) { in posix_cpu_timer_get()
761 itp->it_value = ns_to_timespec64(timer->it.cpu.expires - now); in posix_cpu_timer_get()
883 static void check_cpu_itimer(struct task_struct *tsk, struct cpu_itimer *it, in check_cpu_itimer() argument
886 if (!it->expires) in check_cpu_itimer()
889 if (cur_time >= it->expires) { in check_cpu_itimer()
890 if (it->incr) in check_cpu_itimer()
891 it->expires += it->incr; in check_cpu_itimer()
893 it->expires = 0; in check_cpu_itimer()
901 if (it->expires && (!*expires || it->expires < *expires)) in check_cpu_itimer()
902 *expires = it->expires; in check_cpu_itimer()
951 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_PROF], &prof_expires, ptime, in check_process_timers()
953 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_VIRT], &virt_expires, utime, in check_process_timers()
1008 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_rearm()
1037 timer->it.cpu.expires = 0; in posix_cpu_timer_rearm()
1180 list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { in run_posix_cpu_timers()
1184 list_del_init(&timer->it.cpu.entry); in run_posix_cpu_timers()
1185 cpu_firing = timer->it.cpu.firing; in run_posix_cpu_timers()
1186 timer->it.cpu.firing = 0; in run_posix_cpu_timers()
1252 struct itimerspec64 it; in do_cpu_nanosleep() local
1270 memset(&it, 0, sizeof(it)); in do_cpu_nanosleep()
1271 it.it_value = *rqtp; in do_cpu_nanosleep()
1274 error = posix_cpu_timer_set(&timer, flags, &it, NULL); in do_cpu_nanosleep()
1281 if (timer.it.cpu.expires == 0) { in do_cpu_nanosleep()
1303 expires = timer.it.cpu.expires; in do_cpu_nanosleep()
1304 error = posix_cpu_timer_set(&timer, 0, &zero_it, &it); in do_cpu_nanosleep()
1324 if ((it.it_value.tv_sec | it.it_value.tv_nsec) == 0) { in do_cpu_nanosleep()
1338 error = nanosleep_copyout(restart, &it.it_value); in do_cpu_nanosleep()