Home
last modified time | relevance | path

Searched full:tick (Results 1 – 25 of 622) sorted by relevance

12345678910>>...25

/kernel/linux/linux-5.10/kernel/time/
Dtick-sched.h24 * struct tick_sched - sched tick emulation and no idle tick control/stats
25 * @sched_timer: hrtimer to schedule the periodic tick in high
29 * @inidle: Indicator that the CPU is in the tick idle mode
30 * @tick_stopped: Indicator that the idle tick has been stopped
31 * @idle_active: Indicator that the CPU is actively in the tick idle mode;
34 * @got_idle_tick: Tick timer function has run with @inidle set
35 * @last_tick: Store the last tick expiry time when the tick
37 * to resume the tick timer operation in the timeline
39 * @next_tick: Next tick to be fired when in dynticks mode.
42 * @idle_sleeps: Number of idle calls, where the sched tick was stopped
[all …]
Dtick-sched.c7 * No idle tick implementation for low and high resolution timers
31 #include "tick-internal.h"
157 * When we are idle and the tick is stopped, we have to touch in tick_sched_handle()
169 * In case the current tick fired too early past its expected in tick_sched_handle()
243 /* Empty, the tick restart happens on tick_nohz_irq_exit() */ in nohz_full_kick_func()
253 * re-evaluate its dependency on the tick and restart it if necessary.
267 * re-evaluate its dependency on the tick and restart it if necessary.
279 * their dependency on the tick and restart it if necessary.
305 * Set a global tick dependency. Used by perf events that rely on freq and
319 * Set per-CPU tick dependency. Used by scheduler and perf events in order to
[all …]
DMakefile12 obj-$(CONFIG_GENERIC_CLOCKEVENTS) += clockevents.o tick-common.o
14 obj-y += tick-broadcast.o
15 obj-$(CONFIG_TICK_ONESHOT) += tick-broadcast-hrtimer.o
18 obj-$(CONFIG_TICK_ONESHOT) += tick-oneshot.o tick-sched.o
Dtick-common.c3 * This file contains the base functions to manage periodic tick
23 #include "tick-internal.h"
26 * Tick devices
30 * Tick next event: keeps track of the tick time
82 * Periodic tick
90 /* Keep track of the next tick event */ in tick_periodic()
149 * Setup the device for a periodic tick
202 * Setup the tick device
450 * tick_suspend_local - Suspend the local tick device
464 * tick_resume_local - Resume the local tick device
[all …]
/kernel/linux/linux-5.10/sound/core/seq/
Dseq_timer.h13 snd_seq_tick_time_t cur_tick; /* current tick */
14 unsigned long resolution; /* time per tick in nsec */
15 unsigned long fraction; /* current time per tick in nsec */
24 unsigned int tempo; /* current tempo, us/tick */
28 struct snd_seq_timer_tick tick; /* current tick */ member
53 static inline void snd_seq_timer_update_tick(struct snd_seq_timer_tick *tick, in snd_seq_timer_update_tick() argument
56 if (tick->resolution > 0) { in snd_seq_timer_update_tick()
57 tick->fraction += resolution; in snd_seq_timer_update_tick()
58 tick->cur_tick += (unsigned int)(tick->fraction / tick->resolution); in snd_seq_timer_update_tick()
59 tick->fraction %= tick->resolution; in snd_seq_timer_update_tick()
Dseq_timer.c24 tmr->tick.resolution = (tmr->tempo * 1000) / tmr->ppq; in snd_seq_timer_set_tick_resolution()
30 tmr->tick.resolution = (tmr->tempo / tmr->ppq) * 1000; in snd_seq_timer_set_tick_resolution()
31 tmr->tick.resolution += s; in snd_seq_timer_set_tick_resolution()
33 if (tmr->tick.resolution <= 0) in snd_seq_timer_set_tick_resolution()
34 tmr->tick.resolution = 1; in snd_seq_timer_set_tick_resolution()
35 snd_seq_timer_update_tick(&tmr->tick, 0); in snd_seq_timer_set_tick_resolution()
105 tmr->tick.cur_tick = 0; in seq_timer_reset()
106 tmr->tick.fraction = 0; in seq_timer_reset()
149 /* calculate current tick */ in snd_seq_timer_interrupt()
150 snd_seq_timer_update_tick(&tmr->tick, resolution); in snd_seq_timer_interrupt()
[all …]
Dseq_prioq.c91 return (snd_seq_compare_tick_time(&a->time.tick, &b->time.tick)); in compare_timestamp()
108 if (a->time.tick > b->time.tick) in compare_timestamp_rel()
110 else if (a->time.tick == b->time.tick) in compare_timestamp_rel()
206 return snd_seq_compare_tick_time(current_time, &ev->time.tick); in event_is_ready()
262 if (cell->event.time.tick) in prioq_match()
347 res = snd_seq_compare_tick_time(&ev->time.tick, &info->time.tick); in prioq_remove_match()
355 res = snd_seq_compare_tick_time(&ev->time.tick, &info->time.tick); in prioq_remove_match()
/kernel/liteos_m/testsuites/sample/kernel/swtmr/
DIt_los_swtmr_072.c48 UINT32 tick = 0; in Testcase() local
62 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
78 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
80 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION3 - delayTime - 1, tick, EXIT); in Testcase()
85 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
95 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
97 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION3 - 1, tick, EXIT); in Testcase()
102 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
DIt_los_swtmr_069.c39 UINT32 tick = 0; in SwtmrF01() local
45 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in SwtmrF01()
47 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION1 - 1, tick, EXIT); in SwtmrF01()
59 UINT32 tick = 0; in Testcase() local
79 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
83 ICUNIT_GOTO_EQUAL(tick, 1, tick, EXIT); in Testcase()
91 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
DIt_los_swtmr_068.c50 UINT32 tick = 0; in Testcase() local
66 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
68 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION1 - 1, tick, EXIT); in Testcase()
73 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
76 ICUNIT_GOTO_EQUAL(tick, 1, tick, EXIT); in Testcase()
84 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
DIt_los_swtmr_071.c48 UINT32 tick = 0; in Testcase() local
62 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
78 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
80 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION3 - delayTime - 1, tick, EXIT); in Testcase()
85 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
98 ret = LOS_SwtmrTimeGet(g_swtmrId1, &tick); in Testcase()
DIt_los_swtmr_074.c52 UINT32 tick; in Testcase() local
77 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
95 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
97 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION3 - delayTime - 1, tick, EXIT); in Testcase()
103 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
DIt_los_swtmr_066.c50 UINT32 tick = 0; in Testcase() local
64 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
66 ICUNIT_GOTO_EQUAL(tick, TIMER_LOS_EXPIRATION1 - 1, tick, EXIT); in Testcase()
76 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
/kernel/linux/linux-5.10/tools/testing/selftests/timers/
Dadjtick.c1 /* adjtimex() tick adjustment test
128 tx1.tick = tickval; in check_tick_adj()
135 printf("Estimating tick (act: %ld usec, %lld ppm): ", tickval, ppm); in check_tick_adj()
144 if (tx1.offset || tx1.freq || tx1.tick != tickval) { in check_tick_adj()
153 * cannot match the HZ tick size accurately, so we have a in check_tick_adj()
171 long tick, max, interval, err; in main() local
189 for (tick = (systick - max); tick < (systick + max); tick += interval) { in main()
190 if (check_tick_adj(tick)) { in main()
203 tx1.tick = systick; in main()
/kernel/liteos_m/kernel/include/
Dlos_tick.h51 * Tick error code: The Tick configuration is incorrect.
62 * Tick error code: The system tick timer uninitialized.
72 * Tick error code: The number of Ticks is too small.
122 * Cycles per Tick
216 * System time error code: The Tick Timer must be registered before kernel initialization.
226 * System time error code: The tick timer method is NULL.
236 * System time error code: The tick timer addr fault.
279 * @brief Adjust the system tick timer clock frequency function hooks.
282 * This API is used to adjust the system tick timer clock frequency.
290 * @retval 0: Adjust the system tick timer clock frequency failed.
[all …]
/kernel/liteos_a/compat/posix/include/
Dtime_posix.h70 UINT64 tick, ns; in OsTimeSpec2Tick() local
74tick = (ns * LOSCFG_BASE_CORE_TICK_PER_SECOND + (OS_SYS_NS_PER_SECOND - 1)) / OS_SYS_NS_PER_SECOND; in OsTimeSpec2Tick()
75 if (tick > LOS_WAIT_FOREVER) { in OsTimeSpec2Tick()
76 tick = LOS_WAIT_FOREVER; in OsTimeSpec2Tick()
78 return (UINT32)tick; in OsTimeSpec2Tick()
81 STATIC INLINE VOID OsTick2TimeSpec(struct timespec *tp, UINT32 tick) in OsTick2TimeSpec() argument
83 UINT64 ns = ((UINT64)tick * OS_SYS_NS_PER_SECOND) / LOSCFG_BASE_CORE_TICK_PER_SECOND; in OsTick2TimeSpec()
/kernel/linux/linux-5.10/Documentation/timers/
Dhighres.rst100 System-level global event devices are used for the Linux periodic tick. Per-CPU
107 - system global periodic tick (jiffies update)
132 utilize the high resolution and dynamic tick functionalities without any change
136 adding the dynamic tick specific calls to the idle routine (a total of 3 lines
186 Once a system has switched to high resolution mode, the periodic tick is
190 The periodic tick functionality is provided by an per-cpu hrtimer. The callback
193 based periodic tick is designed to be extended with dynamic tick functionality.
195 timer and periodic events (jiffies tick, profiling, process accounting) on UP
200 separated from the tick bound timer softirq to allow accurate delivery of high
211 Dynamic ticks are the logical consequence of the hrtimer based periodic tick
[all …]
Dno_hz.rst128 adaptive-tick CPUs: At least one non-adaptive-tick CPU must remain
130 calls like gettimeofday() returns accurate values on adaptive-tick CPUs.
147 Just as with dyntick-idle mode, the benefits of adaptive-tick mode do
159 3. POSIX CPU timers prevent CPUs from entering adaptive-tick mode.
165 all of them over time. Adaptive-tick mode may prevent this
168 entering adaptive-tick mode.
170 5. Scheduler statistics for adaptive-tick CPUs may be computed
171 slightly differently than those for non-adaptive-tick CPUs.
184 enter either dyntick-idle mode or adaptive-tick mode, the most
188 to enter dyntick-idle mode or adaptive-tick mode anyway. In this case,
[all …]
/kernel/linux/linux-5.10/Documentation/admin-guide/pm/
Dcpuidle.rst165 tick can be `stopped by the idle loop <idle-cpus-and-tick_>`_. Available
186 .. _idle-cpus-and-tick:
188 Idle CPUs and The Scheduler Tick
191 The scheduler tick is a timer that triggers periodically in order to implement
199 may not want to give the CPU away voluntarily, however, and the scheduler tick
201 tick, but it is the primary reason for using it.
203 The scheduler tick is problematic from the CPU idle time management perspective,
205 configuration, the length of the tick period is between 1 ms and 10 ms).
206 Thus, if the tick is allowed to trigger on idle CPUs, it will not make sense
208 the tick period length. Moreover, in that case the idle duration of any CPU
[all …]
/kernel/liteos_m/kal/posix/src/
Dsignal.c43 unsigned long long tick, ns; in TimeSpec2Tick() local
47tick = (ns * LOSCFG_BASE_CORE_TICK_PER_SECOND + (OS_SYS_NS_PER_SECOND - 1)) / OS_SYS_NS_PER_SECOND; in TimeSpec2Tick()
48 if (tick > LOS_WAIT_FOREVER) { in TimeSpec2Tick()
49 tick = LOS_WAIT_FOREVER; in TimeSpec2Tick()
51 return (unsigned int)tick; in TimeSpec2Tick()
129 int tick = LOS_WAIT_FOREVER; in sigtimedwait() local
133 tick = TimeSpec2Tick(timeout); in sigtimedwait()
136 ret = LOS_SignalWait(set, info, tick); in sigtimedwait()
Dtime_internal.h97 UINT64 tick, ns; in OsTimeSpec2Tick() local
101tick = (ns * LOSCFG_BASE_CORE_TICK_PER_SECOND + (OS_SYS_NS_PER_SECOND - 1)) / OS_SYS_NS_PER_SECOND; in OsTimeSpec2Tick()
102 if (tick > LOS_WAIT_FOREVER) { in OsTimeSpec2Tick()
103 tick = LOS_WAIT_FOREVER; in OsTimeSpec2Tick()
105 return (UINT32)tick; in OsTimeSpec2Tick()
108 STATIC INLINE VOID OsTick2TimeSpec(struct timespec *tp, UINT32 tick) in OsTick2TimeSpec() argument
110 UINT64 ns = ((UINT64)tick * OS_SYS_NS_PER_SECOND) / LOSCFG_BASE_CORE_TICK_PER_SECOND; in OsTick2TimeSpec()
/kernel/linux/linux-5.10/arch/sparc/include/asm/
Dtimer_64.h48 unsigned int tick[GET_TICK_NINSTR]; member
57 unsigned long tick, tmp1, tmp2; in get_tick() local
81 /* read tick 2 instructions and 11 skipped */ in get_tick()
83 " rd %%tick, %0\n" in get_tick()
93 : "=&r" (tick), "=&r" (tmp1), "=&r" (tmp2) in get_tick()
96 return tick; in get_tick()
/kernel/liteos_m/kernel/src/
Dlos_tick.c114 STATIC UINT32 TickTimerCheck(const ArchTickTimer *tick) in TickTimerCheck() argument
116 if (tick == NULL) { in TickTimerCheck()
120 if ((tick->freq == 0) || in TickTimerCheck()
122 (LOSCFG_BASE_CORE_TICK_PER_SECOND > tick->freq)) { in TickTimerCheck()
126 if (tick->irqNum > (INT32)LOSCFG_PLATFORM_HWI_LIMIT) { in TickTimerCheck()
130 if (tick->periodMax == 0) { in TickTimerCheck()
134 if ((tick->init == NULL) || (tick->reload == NULL) || in TickTimerCheck()
135 (tick->lock == NULL) || (tick->unlock == NULL) || in TickTimerCheck()
136 (tick->getCycle == NULL)) { in TickTimerCheck()
286 Description : get current tick
[all …]
/kernel/liteos_a/testsuites/kernel/sample/kernel_base/core/swtmr/full/
DIt_los_swtmr_066.c54 UINT32 tick; in Testcase() local
64 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
66 if (tick > 4) { // 4, if tick > 4, set an erro code, then exit in Testcase()
67 ICUNIT_GOTO_EQUAL(1, 0, tick, EXIT); in Testcase()
78 ret = LOS_SwtmrTimeGet(swTmrID, &tick); in Testcase()
/kernel/linux/linux-5.10/arch/sparc/kernel/
Dtime_64.c70 /* Set things up so user can access tick register for profiling in tick_disable_protection()
72 * read back of %tick after writing it. in tick_disable_protection()
78 "1: rd %%tick, %%g2\n" in tick_disable_protection()
81 " wrpr %%g2, 0, %%tick\n" in tick_disable_protection()
82 " rdpr %%tick, %%g0" in tick_disable_protection()
110 __asm__ __volatile__("rd %%tick, %0\n\t" in tick_get_tick()
121 __asm__ __volatile__("rd %%tick, %0" in tick_add_compare()
144 __asm__ __volatile__("rd %%tick, %0" in tick_add_compare()
156 __asm__ __volatile__("rd %%tick, %0\n\t" in tick_add_tick()
158 "wrpr %0, 0, %%tick\n\t" in tick_add_tick()
[all …]

12345678910>>...25