tick_nohz_irq_exit(9)
π tick_nohz_irq_exit(9) β like, the Kernel API Manual, bestie β¨
okay so real talk: this is a page straight out of the Kernel API Manual, and it's about the function tick_nohz_irq_exit β the little "hey, we just left an IRQ" heads-up for the tick. short page, big vibes, let's go π
πΈ NAME πΈ
tick_nohz_irq_exit β notify the tick about IRQ exit. that's it, that's the whole job π
β¨ SYNOPSIS β¨
void tick_nohz_irq_exit (void );
π«Ά ARGUMENTS π«Ά
voidβ no arguments. none. zero. the function said "i need nothing from you" and honestly? iconic π
π¦ DESCRIPTION π¦
so here's the situation, bestie. a timer might have been added, modified, or deleted β and that could've happened either because of the current IRQ itself, or because of some other place that's using this IRQ as a notification. also possible: this IRQ updated the RCU callback list. point is, any of these events might mean the next tick needs a whole re-evaluation. and what happens next depends on the context, so let's break it down π
- if the CPU is idle and there's no resched pending, then you just proceed with idle time accounting. easy. the next tick gets re-evaluated on the next idle loop iteration. no drama, no cap π
- if the CPU is
nohz_full:
2.1) if there's any tick dependency, restart the tick if it's stopped. like, wake it back up, it's needed π₯
2.2) if there's no tick dependency, then (re-)evaluate the next tick and stop/update it accordingly. read that again: stop/update it accordingly β that's the move β¨
π SEE ALSO π
kernel file ./kernel/time/tick-sched.c, plus the whole squad:
tick_nohz_update_jiffies(9)tick_nohz_next_event(9)tick_nohz_idle_stop_tick(9)tick_nohz_idle_enter(9)tick_nohz_idle_got_tick(9)tick_nohz_get_next_hrtimer(9)tick_nohz_get_sleep_length(9)tick_nohz_get_idle_calls_cpu(9)tick_nohz_idle_exit(9)tick_nohz_switch_to_nohz(9)tick_setup_sched_timer(9)
ngl this one's short but it matters β miss the re-evaluation and the tick just sits there looking silly π handle it, main character π§
aaand that's the page, bestie π it lives in ./kernel/time, dated October 2026, and yes β the header up top said tick_nohz_irq_exit(9) and the footer said tick_nohz_irq_exit(9) again, because it ate and left no crumbs πβπ
π¦ 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