Home
last modified time | relevance | path

Searched refs:timer (Results 1 – 25 of 25) sorted by relevance

/kernel/time/
Dtimer.c483 static inline unsigned int timer_get_idx(struct timer_list *timer) in timer_get_idx() argument
485 return (timer->flags & TIMER_ARRAYMASK) >> TIMER_ARRAYSHIFT; in timer_get_idx()
488 static inline void timer_set_idx(struct timer_list *timer, unsigned int idx) in timer_set_idx() argument
490 timer->flags = (timer->flags & ~TIMER_ARRAYMASK) | in timer_set_idx()
555 trigger_dyntick_cpu(struct timer_base *base, struct timer_list *timer) in trigger_dyntick_cpu() argument
564 if (timer->flags & TIMER_DEFERRABLE) { in trigger_dyntick_cpu()
584 static void enqueue_timer(struct timer_base *base, struct timer_list *timer, in enqueue_timer() argument
588 hlist_add_head(&timer->entry, base->vectors + idx); in enqueue_timer()
590 timer_set_idx(timer, idx); in enqueue_timer()
592 trace_timer_start(timer, timer->expires, timer->flags); in enqueue_timer()
[all …]
Dhrtimer.c165 struct hrtimer_clock_base *lock_hrtimer_base(const struct hrtimer *timer, in lock_hrtimer_base() argument
171 base = READ_ONCE(timer->base); in lock_hrtimer_base()
174 if (likely(base == timer->base)) in lock_hrtimer_base()
193 hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base) in hrtimer_check_target() argument
197 expires = ktime_sub(hrtimer_get_expires(timer), new_base->offset); in hrtimer_check_target()
225 switch_hrtimer_base(struct hrtimer *timer, struct hrtimer_clock_base *base, in switch_hrtimer_base() argument
247 if (unlikely(hrtimer_callback_running(timer))) in switch_hrtimer_base()
251 WRITE_ONCE(timer->base, &migration_base); in switch_hrtimer_base()
256 hrtimer_check_target(timer, new_base)) { in switch_hrtimer_base()
260 WRITE_ONCE(timer->base, base); in switch_hrtimer_base()
[all …]
Dposix-cpu-timers.c21 static void posix_cpu_timer_rearm(struct k_itimer *timer);
106 static inline struct task_struct *cpu_timer_task_rcu(struct k_itimer *timer) in cpu_timer_task_rcu() argument
108 return pid_task(timer->it.cpu.pid, clock_pid_type(timer->it_clock)); in cpu_timer_task_rcu()
115 static u64 bump_cpu_timer(struct k_itimer *timer, u64 now) in bump_cpu_timer() argument
117 u64 delta, incr, expires = timer->it.cpu.node.expires; in bump_cpu_timer()
120 if (!timer->it_interval) in bump_cpu_timer()
126 incr = timer->it_interval; in bump_cpu_timer()
137 timer->it.cpu.node.expires += incr; in bump_cpu_timer()
138 timer->it_overrun += 1LL << i; in bump_cpu_timer()
141 return timer->it.cpu.node.expires; in bump_cpu_timer()
[all …]
Dposix-timers.c122 struct k_itimer *timer; in __posix_timers_find() local
124 hlist_for_each_entry_rcu(timer, head, t_hash, in __posix_timers_find()
126 if ((timer->it_signal == sig) && (timer->it_id == id)) in __posix_timers_find()
127 return timer; in __posix_timers_find()
140 static int posix_timer_add(struct k_itimer *timer) in posix_timer_add() argument
151 hlist_add_head_rcu(&timer->t_hash, head); in posix_timer_add()
295 struct hrtimer *timer = &timr->it.real.timer; in common_hrtimer_rearm() local
297 timr->it_overrun += hrtimer_forward(timer, timer->base->get_time(), in common_hrtimer_rearm()
299 hrtimer_restart(timer); in common_hrtimer_rearm()
366 static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer) in posix_timer_fn() argument
[all …]
Dtimer_list.c56 print_timer(struct seq_file *m, struct hrtimer *taddr, struct hrtimer *timer, in print_timer() argument
62 print_name_offset(m, timer->function); in print_timer()
63 SEQ_printf(m, ", S:%02x", timer->state); in print_timer()
66 (unsigned long long)ktime_to_ns(hrtimer_get_softexpires(timer)), in print_timer()
67 (unsigned long long)ktime_to_ns(hrtimer_get_expires(timer)), in print_timer()
68 (long long)(ktime_to_ns(hrtimer_get_softexpires(timer)) - now), in print_timer()
69 (long long)(ktime_to_ns(hrtimer_get_expires(timer)) - now)); in print_timer()
76 struct hrtimer *timer, tmp; in print_active_timers() local
100 timer = container_of(curr, struct hrtimer, node); in print_active_timers()
101 tmp = *timer; in print_active_timers()
[all …]
Ditimer.c29 static struct timespec64 itimer_get_remtime(struct hrtimer *timer) in itimer_get_remtime() argument
31 ktime_t rem = __hrtimer_get_remaining(timer, true); in itimer_get_remtime()
38 if (hrtimer_active(timer)) { in itimer_get_remtime()
156 enum hrtimer_restart it_real_fn(struct hrtimer *timer) in it_real_fn() argument
159 container_of(timer, struct signal_struct, real_timer); in it_real_fn()
210 struct hrtimer *timer; in do_setitimer() local
217 timer = &tsk->signal->real_timer; in do_setitimer()
219 ovalue->it_value = itimer_get_remtime(timer); in do_setitimer()
224 if (hrtimer_try_to_cancel(timer) < 0) { in do_setitimer()
226 hrtimer_cancel_wait_running(timer); in do_setitimer()
[all …]
Dalarmtimer.c199 static enum hrtimer_restart alarmtimer_fired(struct hrtimer *timer) in alarmtimer_fired() argument
201 struct alarm *alarm = container_of(timer, struct alarm, timer); in alarmtimer_fired()
216 hrtimer_set_expires(&alarm->timer, alarm->node.expires); in alarmtimer_fired()
337 alarm->timer.function = alarmtimer_fired; in __alarm_init()
352 hrtimer_init(&alarm->timer, alarm_bases[type].base_clockid, in alarm_init()
371 hrtimer_start(&alarm->timer, alarm->node.expires, HRTIMER_MODE_ABS); in alarm_start()
398 hrtimer_set_expires(&alarm->timer, alarm->node.expires); in alarm_restart()
399 hrtimer_restart(&alarm->timer); in alarm_restart()
419 ret = hrtimer_try_to_cancel(&alarm->timer); in alarm_try_to_cancel()
442 hrtimer_cancel_wait_running(&alarm->timer); in alarm_cancel()
[all …]
Dposix-timers.h15 int (*timer_create)(struct k_itimer *timer);
45 int common_timer_del(struct k_itimer *timer);
DKconfig56 # and not from the timer interrupt context
83 bool "Periodic timer ticks (constant rate, no dynticks)"
93 This option enables a tickless idle system: timer interrupts
172 This option enables high resolution timer support. If your
DMakefile2 obj-y += time.o timer.o hrtimer.o
Dtick-sched.c1375 static enum hrtimer_restart tick_sched_timer(struct hrtimer *timer) in tick_sched_timer() argument
1378 container_of(timer, struct tick_sched, sched_timer); in tick_sched_timer()
1397 hrtimer_forward(timer, now, TICK_NSEC); in tick_sched_timer()
/kernel/
DKconfig.hz10 Allows the configuration of the timer frequency. It is customary
11 to have the timer interrupt run at 1000 Hz but 100 Hz may be more
14 contention and cacheline bounces as a result of timer interrupts.
15 Note that the timer interrupt occurs on each processor in an SMP
16 environment leading to NR_CPUS * HZ number of timer interrupts
25 too many timer interrupts are occurring.
Dkthread.c928 struct kthread_delayed_work *dwork = from_timer(dwork, t, timer); in kthread_delayed_work_timer_fn()
958 struct timer_list *timer = &dwork->timer; in __kthread_queue_delayed_work() local
967 WARN_ON_ONCE(timer->function != kthread_delayed_work_timer_fn); in __kthread_queue_delayed_work()
985 timer->expires = jiffies + delay; in __kthread_queue_delayed_work()
986 add_timer(timer); in __kthread_queue_delayed_work()
1096 del_timer_sync(&dwork->timer); in kthread_cancel_delayed_work_timer()
Dworkqueue.c523 destroy_timer_on_stack(&work->timer); in destroy_delayed_work_on_stack()
1272 if (likely(del_timer(&dwork->timer))) in try_to_grab_pending()
1639 struct delayed_work *dwork = from_timer(dwork, t, timer); in delayed_work_timer_fn()
1649 struct timer_list *timer = &dwork->timer; in __queue_delayed_work() local
1659 WARN_ON_ONCE(timer->function != delayed_work_timer_fn); in __queue_delayed_work()
1661 WARN_ON_ONCE(timer_pending(timer)); in __queue_delayed_work()
1677 timer->expires = jiffies + delay; in __queue_delayed_work()
1680 add_timer_on(timer, cpu); in __queue_delayed_work()
1682 add_timer(timer); in __queue_delayed_work()
3216 if (del_timer_sync(&dwork->timer)) in flush_delayed_work()
/kernel/sched/
Didle.c343 struct hrtimer timer; member
347 static enum hrtimer_restart idle_inject_timer_fn(struct hrtimer *timer) in idle_inject_timer_fn() argument
349 struct idle_timer *it = container_of(timer, struct idle_timer, timer); in idle_inject_timer_fn()
377 hrtimer_init_on_stack(&it.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); in play_idle_precise()
378 it.timer.function = idle_inject_timer_fn; in play_idle_precise()
379 hrtimer_start(&it.timer, ns_to_ktime(duration_ns), in play_idle_precise()
Ddeadline.c302 struct hrtimer *timer = &dl_se->inactive_timer; in task_non_contending() local
352 hrtimer_start(timer, ns_to_ktime(zerolag_time), HRTIMER_MODE_REL_HARD); in task_non_contending()
984 struct hrtimer *timer = &dl_se->dl_timer; in start_dl_timer() local
997 now = hrtimer_cb_get_time(timer); in start_dl_timer()
1018 if (!hrtimer_is_queued(timer)) { in start_dl_timer()
1020 hrtimer_start(timer, act, HRTIMER_MODE_ABS_HARD); in start_dl_timer()
1039 static enum hrtimer_restart dl_task_timer(struct hrtimer *timer) in dl_task_timer() argument
1041 struct sched_dl_entity *dl_se = container_of(timer, in dl_task_timer()
1148 struct hrtimer *timer = &dl_se->dl_timer; in init_dl_task_timer() local
1150 hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); in init_dl_task_timer()
[all …]
Drt.c21 static enum hrtimer_restart sched_rt_period_timer(struct hrtimer *timer) in sched_rt_period_timer() argument
24 container_of(timer, struct rt_bandwidth, rt_period_timer); in sched_rt_period_timer()
30 overrun = hrtimer_forward_now(timer, rt_b->rt_period); in sched_rt_period_timer()
Dcore.c363 static enum hrtimer_restart hrtick(struct hrtimer *timer) in hrtick() argument
365 struct rq *rq = container_of(timer, struct rq, hrtick_timer); in hrtick()
382 struct hrtimer *timer = &rq->hrtick_timer; in __hrtick_restart() local
385 hrtimer_start(timer, time, HRTIMER_MODE_ABS_PINNED_HARD); in __hrtick_restart()
408 struct hrtimer *timer = &rq->hrtick_timer; in hrtick_start() local
416 rq->hrtick_time = ktime_add_ns(timer->base->get_time(), delta); in hrtick_start()
Dfair.c5408 static enum hrtimer_restart sched_cfs_slack_timer(struct hrtimer *timer) in sched_cfs_slack_timer() argument
5411 container_of(timer, struct cfs_bandwidth, slack_timer); in sched_cfs_slack_timer()
5420 static enum hrtimer_restart sched_cfs_period_timer(struct hrtimer *timer) in sched_cfs_period_timer() argument
5423 container_of(timer, struct cfs_bandwidth, period_timer); in sched_cfs_period_timer()
5431 overrun = hrtimer_forward_now(timer, cfs_b->period); in sched_cfs_period_timer()
/kernel/kcsan/
Dkcsan-test.c1024 static void access_thread_timer(struct timer_list *timer) in access_thread_timer() argument
1041 struct timer_list timer; in access_thread() local
1046 timer_setup_on_stack(&timer, access_thread_timer, 0); in access_thread()
1050 if (!timer_pending(&timer)) in access_thread()
1051 mod_timer(&timer, jiffies + 1); in access_thread()
1061 del_timer_sync(&timer); in access_thread()
1062 destroy_timer_on_stack(&timer); in access_thread()
/kernel/futex/
Dcore.c415 hrtimer_set_expires_range_ns(&timeout->timer, *time, range_ns); in futex_setup_timer()
2763 hrtimer_cancel(&to->timer); in futex_wait()
2764 destroy_hrtimer_on_stack(&to->timer); in futex_wait()
2944 hrtimer_cancel(&to->timer); in futex_lock_pi()
2945 destroy_hrtimer_on_stack(&to->timer); in futex_lock_pi()
3331 hrtimer_cancel(&to->timer); in futex_wait_requeue_pi()
3332 destroy_hrtimer_on_stack(&to->timer); in futex_wait_requeue_pi()
/kernel/locking/
Drtmutex.c1261 hrtimer_start_expires(&timeout->timer, HRTIMER_MODE_ABS); in rt_mutex_slowlock()
1285 hrtimer_cancel(&timeout->timer); in rt_mutex_slowlock()
/kernel/events/
Dcore.c1151 struct hrtimer *timer = &cpuctx->hrtimer; in __perf_mux_hrtimer_init() local
1170 hrtimer_init(timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_PINNED_HARD); in __perf_mux_hrtimer_init()
1171 timer->function = perf_mux_hrtimer_handler; in __perf_mux_hrtimer_init()
1176 struct hrtimer *timer = &cpuctx->hrtimer; in perf_mux_hrtimer_restart() local
1187 hrtimer_forward_now(timer, cpuctx->hrtimer_interval); in perf_mux_hrtimer_restart()
1188 hrtimer_start_expires(timer, HRTIMER_MODE_ABS_PINNED_HARD); in perf_mux_hrtimer_restart()
10753 int timer, cpu, ret; in perf_event_mux_interval_ms_store() local
10755 ret = kstrtoint(buf, 0, &timer); in perf_event_mux_interval_ms_store()
10759 if (timer < 1) in perf_event_mux_interval_ms_store()
10763 if (timer == pmu->hrtimer_interval_ms) in perf_event_mux_interval_ms_store()
[all …]
/kernel/power/
DKconfig214 Sets up a watchdog timer to capture drivers that are
/kernel/cgroup/
Dcgroup.c3975 static void cgroup_file_notify_timer(struct timer_list *timer) in cgroup_file_notify_timer() argument
3977 cgroup_file_notify(container_of(timer, struct cgroup_file, in cgroup_file_notify_timer()