^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) # Timer Interrupt Frequency Configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) choice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) prompt "Timer frequency"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) default HZ_250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Allows the configuration of the timer frequency. It is customary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) to have the timer interrupt run at 1000 Hz but 100 Hz may be more
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) beneficial for servers and NUMA systems that do not need to have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) a fast response for user interaction and that may experience bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) contention and cacheline bounces as a result of timer interrupts.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Note that the timer interrupt occurs on each processor in an SMP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) environment leading to NR_CPUS * HZ number of timer interrupts
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) per second.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) config HZ_100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) bool "100 HZ"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 100 Hz is a typical choice for servers, SMP and NUMA systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) with lots of processors that may show reduced performance if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) too many timer interrupts are occurring.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) config HZ_250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) bool "250 HZ"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 250 Hz is a good compromise choice allowing server performance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) while also showing good interactive responsiveness even
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) on SMP and NUMA systems. If you are going to be using NTSC video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) or multimedia, selected 300Hz instead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) config HZ_300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) bool "300 HZ"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 300 Hz is a good compromise choice allowing server performance
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) while also showing good interactive responsiveness even
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) on SMP and NUMA systems and exactly dividing by both PAL and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) NTSC frame rates for video and multimedia work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) config HZ_1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) bool "1000 HZ"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 1000 Hz is the preferred choice for desktop systems and other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) systems requiring fast interactive responses to events.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) endchoice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) config HZ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) default 100 if HZ_100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) default 250 if HZ_250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) default 300 if HZ_300
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) default 1000 if HZ_1000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) config SCHED_HRTICK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) def_bool HIGH_RES_TIMERS