====== Dynticks or Tickless kernel or nohz ====== For a long time Linux kernel have a periodic interrupt that makes the kernel scheduler to balance and schedule threads running among the CPU's. This interrupt is known as the **timer tick** and it is generated at a fixed rate 100-1000 HZ on each CPU or core. The kernel serviced this interrupt regardless of the power state of the CPU. This mode is enabled by option ''CONFIG_HZ_PERIODIC''. ''CONFIG_NO_HZ_IDLE'' mode allows the CPU not to be disturbed when idle and can save power because it just wakes up the CPU when needed to service the timer. Full dynticks system (tickless) mode is enabled by ''CONFIG_NO_HZ_FULL'' and activated by [[https://docs.kernel.org/admin-guide/kernel-parameters.html#cpu-lists|nohz_full boot parameter]]. The kernel adaptively tries to shutdown the tick whenever possible, even when the CPU is running tasks with function ''tick_nohz_full_cpu''. More information: * [[https://www.suse.com/c/cpu-isolation-full-dynticks-part2/|CPU Isolation – Full dynticks internals]] * [[https://en.wikipedia.org/wiki/Tickless_kernel|Tickless kernel]] * [[https://docs.kernel.org/timers/no_hz.html|NO_HZ: Reducing Scheduling-Clock Ticks]] * [[https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/kernel/Kconfig.hz|kernel/Kconfig.hz]] * [[https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/kernel/time/Kconfig|kernel/time/Kconfig]]