tick_suspend(9)
β¨ tick_suspend(9) β¨
okay so we're in the Kernel API Manual bestie, and this is the page for tick_suspend β yes it's a real function name, no I will not be pronouncing it out loud π
π NAME π
tick_suspend β puts the tick and the broadcast device to sleep π΄ like genuinely suspend them, no cap
π SYNOPSIS π
void tick_suspend (void );
πΈ ARGUMENTS πΈ
voidβ literally no arguments. nothing. zero. we love a function that takes nothing and asks for nothing π«Ά
π¦ DESCRIPTION π¦
So here's the vibe: this gets called from syscore_suspend via timekeeping_suspend, and the situation is very specific β there's only one CPU online and interrupts are disabled. That's the whole setup. That's the moment. π―
It can also get called from tick_unfreeze under tick_freeze_lock. Different door, same function, iykyk.
No locks required. None. Not a single one. Because nothing can change the per cpu device anyway β it's just not a thing that can happen here, so locking would be pure decoration. π
fr fr though: if you're calling this in some other context, you're not in the situation this page describes. the "one CPU, interrupts off" part is not a suggestion, it's the whole reason the lock isn't needed. π
π SEE ALSO π
start in the kernel file ./kernel/time/tick-common.c and then go meet the whole friend group:
tick_is_oneshot_available(9)tick_broadcast_oneshot_control(9)tick_suspend_local(9)tick_resume_local(9)tick_resume(9)tick_freeze(9)tick_unfreeze(9)tick_init(9)
β okay that's the whole page, you ate that π this one lives in ./kernel/time and the date on it is October 2026 β go forth and suspend responsibly, mwah ππ§
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms