x86: switch config to a tickless kernel
authorJohn Audia <therealgraysky@proton.me>
Mon, 2 Sep 2024 23:53:47 +0000 (19:53 -0400)
committerPetr Štetiar <ynezz@true.cz>
Thu, 28 Nov 2024 18:47:27 +0000 (18:47 +0000)
commit4c22224bcc08c9bd18e6e9921280c73e2abcd7c3
treec7ffe9fe22ecf36fc22eb3ac6e2565a6f98e157d
parentbe082a7c7e9b1edf60346752e8dc9935905b7dda
x86: switch config to a tickless kernel

This commit fixes and closes #16313.

Switch the x86 kernel's timer to tickless operation which is
more power efficient since it is not woken up by periodic timer
interrupts when idle.  Also add several other options for CPU
idle governors particularly the upstream default for tickless
kernels, CONFIG_CPU_IDLE_GOV_MENU. Without this commit, my AMD
Ryzen 7 5800U can only achieve a minimum core frequency of 1,384
MHz which is over 3x higher than the processor's minimum
frequency of 400 MHz which is accessible with this modification.
In addition to the lower clock rate, I have seen a concomitant
reduction in both idle temps and at-the-wall power consumption.

Summary:
* Idle CPU freqs dropped from 1,384 MHz to 400 Mhz.
* Idle power consumption dropped from 7 W avg to 5 W.
* Idle temps have dropped from 50C on avg to 43C.

There are other well known reasons to switch to a tickless
timer including: reduced interrupt overhead, better use of CPU
resources, and reduced latency to name a few.

Build system: x86/64
Build-tested: x86/64/AMD Cezanne
Run-tested: x86/64/AMD Cezanne

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16317
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 31111680f6fc5f17201b02b8ce656b955be56d7a)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
target/linux/x86/config-6.6