Lines Matching refs:it
88 if (timer->it.cpu.incr == 0) in bump_cpu_timer()
91 if (now < timer->it.cpu.expires) in bump_cpu_timer()
94 incr = timer->it.cpu.incr; in bump_cpu_timer()
95 delta = now + incr - timer->it.cpu.expires; in bump_cpu_timer()
105 timer->it.cpu.expires += incr; in bump_cpu_timer()
351 INIT_LIST_HEAD(&new_timer->it.cpu.entry); in posix_cpu_timer_create()
371 new_timer->it.cpu.task = p; in posix_cpu_timer_create()
393 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_del()
407 WARN_ON_ONCE(!list_empty(&timer->it.cpu.entry)); in posix_cpu_timer_del()
409 if (timer->it.cpu.firing) in posix_cpu_timer_del()
412 list_del(&timer->it.cpu.entry); in posix_cpu_timer_del()
472 struct task_struct *p = timer->it.cpu.task; in arm_timer()
475 struct cpu_timer_list *const nt = &timer->it.cpu; in arm_timer()
532 timer->it.cpu.expires = 0; in cpu_timer_fire()
539 timer->it.cpu.expires = 0; in cpu_timer_fire()
540 } else if (timer->it.cpu.incr == 0) { in cpu_timer_fire()
545 timer->it.cpu.expires = 0; in cpu_timer_fire()
629 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_set()
656 old_incr = timer->it.cpu.incr; in posix_cpu_timer_set()
657 old_expires = timer->it.cpu.expires; in posix_cpu_timer_set()
658 if (unlikely(timer->it.cpu.firing)) { in posix_cpu_timer_set()
659 timer->it.cpu.firing = -1; in posix_cpu_timer_set()
662 list_del_init(&timer->it.cpu.entry); in posix_cpu_timer_set()
694 if (val < timer->it.cpu.expires) { in posix_cpu_timer_set()
695 old_expires = timer->it.cpu.expires - val; in posix_cpu_timer_set()
726 timer->it.cpu.expires = new_expires; in posix_cpu_timer_set()
736 timer->it.cpu.incr = timespec_to_sample(timer->it_clock, in posix_cpu_timer_set()
772 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_get()
780 timer->it.cpu.incr, &itp->it_interval); in posix_cpu_timer_get()
782 if (timer->it.cpu.expires == 0) { /* Timer not armed at all. */ in posix_cpu_timer_get()
808 timer->it.cpu.expires = 0; in posix_cpu_timer_get()
809 sample_to_timespec(timer->it_clock, timer->it.cpu.expires, in posix_cpu_timer_get()
817 if (now < timer->it.cpu.expires) { in posix_cpu_timer_get()
819 timer->it.cpu.expires - now, in posix_cpu_timer_get()
926 static void check_cpu_itimer(struct task_struct *tsk, struct cpu_itimer *it, in check_cpu_itimer() argument
930 if (!it->expires) in check_cpu_itimer()
933 if (cur_time >= it->expires) { in check_cpu_itimer()
934 if (it->incr) { in check_cpu_itimer()
935 it->expires += it->incr; in check_cpu_itimer()
936 it->error += it->incr_error; in check_cpu_itimer()
937 if (it->error >= onecputick) { in check_cpu_itimer()
938 it->expires -= cputime_one_jiffy; in check_cpu_itimer()
939 it->error -= onecputick; in check_cpu_itimer()
942 it->expires = 0; in check_cpu_itimer()
951 if (it->expires && (!*expires || it->expires < *expires)) { in check_cpu_itimer()
952 *expires = it->expires; in check_cpu_itimer()
999 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_PROF], &prof_expires, ptime, in check_process_timers()
1001 check_cpu_itimer(tsk, &sig->it[CPUCLOCK_VIRT], &virt_expires, utime, in check_process_timers()
1050 struct task_struct *p = timer->it.cpu.task; in posix_cpu_timer_schedule()
1079 timer->it.cpu.expires = 0; in posix_cpu_timer_schedule()
1227 list_for_each_entry_safe(timer, next, &firing, it.cpu.entry) { in run_posix_cpu_timers()
1231 list_del_init(&timer->it.cpu.entry); in run_posix_cpu_timers()
1232 cpu_firing = timer->it.cpu.firing; in run_posix_cpu_timers()
1233 timer->it.cpu.firing = 0; in run_posix_cpu_timers()
1296 struct timespec *rqtp, struct itimerspec *it) in do_cpu_nanosleep() argument
1313 memset(it, 0, sizeof *it); in do_cpu_nanosleep()
1314 it->it_value = *rqtp; in do_cpu_nanosleep()
1317 error = posix_cpu_timer_set(&timer, flags, it, NULL); in do_cpu_nanosleep()
1324 if (timer.it.cpu.expires == 0) { in do_cpu_nanosleep()
1346 sample_to_timespec(which_clock, timer.it.cpu.expires, rqtp); in do_cpu_nanosleep()
1347 error = posix_cpu_timer_set(&timer, 0, &zero_it, it); in do_cpu_nanosleep()
1367 if ((it->it_value.tv_sec | it->it_value.tv_nsec) == 0) { in do_cpu_nanosleep()
1386 struct itimerspec it; in posix_cpu_nsleep() local
1397 error = do_cpu_nanosleep(which_clock, flags, rqtp, &it); in posix_cpu_nsleep()
1406 if (rmtp && copy_to_user(rmtp, &it.it_value, sizeof *rmtp)) in posix_cpu_nsleep()
1421 struct itimerspec it; in posix_cpu_nsleep_restart() local
1426 error = do_cpu_nanosleep(which_clock, TIMER_ABSTIME, &t, &it); in posix_cpu_nsleep_restart()
1433 if (rmtp && copy_to_user(rmtp, &it.it_value, sizeof *rmtp)) in posix_cpu_nsleep_restart()