/kernel/time/ |
D | timer.c | 483 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 …]
|
D | hrtimer.c | 165 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 …]
|
D | posix-cpu-timers.c | 21 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 …]
|
D | posix-timers.c | 122 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 …]
|
D | timer_list.c | 56 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 …]
|
D | itimer.c | 29 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 …]
|
D | alarmtimer.c | 199 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 …]
|
D | posix-timers.h | 15 int (*timer_create)(struct k_itimer *timer); 45 int common_timer_del(struct k_itimer *timer);
|
D | Kconfig | 56 # 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
|
D | Makefile | 2 obj-y += time.o timer.o hrtimer.o
|
D | tick-sched.c | 1375 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/ |
D | Kconfig.hz | 10 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.
|
D | kthread.c | 928 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()
|
D | workqueue.c | 523 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/ |
D | idle.c | 343 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()
|
D | deadline.c | 302 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 …]
|
D | rt.c | 21 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()
|
D | core.c | 363 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()
|
D | fair.c | 5408 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/ |
D | kcsan-test.c | 1024 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/ |
D | core.c | 415 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/ |
D | rtmutex.c | 1261 hrtimer_start_expires(&timeout->timer, HRTIMER_MODE_ABS); in rt_mutex_slowlock() 1285 hrtimer_cancel(&timeout->timer); in rt_mutex_slowlock()
|
/kernel/events/ |
D | core.c | 1151 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/ |
D | Kconfig | 214 Sets up a watchdog timer to capture drivers that are
|
/kernel/cgroup/ |
D | cgroup.c | 3975 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()
|