tick_suspend(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ 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:


⭐ 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