User Tools

Site Tools


realtime:documentation:howto:tools:ticklesskernel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
realtime:documentation:howto:tools:ticklesskernel [2017/06/23 22:12]
srodrig1 created
realtime:documentation:howto:tools:ticklesskernel [2023/10/03 08:20] (current)
costa.shul change title
Line 1: Line 1:
-====== Tickless ​Kernel ​====== +====== ​Dynticks or Tickless ​kernel or nohz ======
-Previously, the Linux kernel had by default a periodic interrupt that made the kernel scheduler to balance and schedule threads running among the CPU's, this interrupt is known as the timer tick and it was generated at a fix rate (usually in the order of hundreds/​thousands per second), namely referred as HZ. +
  
 +
 +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. 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.
  
-Tickless kernel, or NO_HZ, ​is a configuration option in the kernel ​that allows it to run without a periodic timer tick. Running without a periodic timer tick 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''​
  
-The configuration option is CONFIG_NO_HZ and is set by Tickless System (Dynamic Ticks), on the Kernel Features configuration menu. 
  
  
 +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]]
realtime/documentation/howto/tools/ticklesskernel.1498255928.txt.gz · Last modified: 2017/06/23 22:12 by srodrig1