openwrt/target/linux
John Audia 4c22224bcc
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 31111680f6)
Link: https://github.com/openwrt/openwrt/pull/17097
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-11-28 18:47:27 +00:00
..
airoha kernel: bump 6.6 to 6.6.61 2024-11-24 22:46:21 +01:00
apm821xx apm821xx: move CONFIG_GENERIC_PHY up 2024-10-24 00:25:28 +02:00
archs38 kernel: activate *_FS_SECURITY and *_FS_ACL_ATTR options for all big flash targets 2024-09-06 22:46:59 +02:00
armsr armsr: don't limit kmods to armsr armv8 subtarget 2024-10-29 00:07:55 +01:00
at91 at91: drop 6.1 support 2024-09-20 18:42:56 +01:00
ath79 treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
bcm27xx kernel: bump 6.6 to 6.6.63 2024-11-24 22:46:21 +01:00
bcm47xx treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
bcm53xx kernel: bump 6.6 to 6.6.59 2024-11-09 17:35:58 +01:00
bcm4908 bcm4908: drop 6.1 support 2024-08-30 11:39:44 +02:00
bmips bmips: fix kernel panic caused by missing CBR address 2024-10-01 19:15:45 +02:00
d1 kernel: Reorder config files 2024-10-22 21:13:26 +02:00
gemini kernel: bump 6.6 to 6.6.57 2024-10-19 16:21:32 +02:00
generic treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
imx kernel: Reorder config files 2024-10-22 21:13:26 +02:00
ipq40xx treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
ipq806x treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
ixp4xx ixp4xx: Add back support for D-Link DSM G600 A 2024-05-25 09:17:19 +02:00
kirkwood kirkwood: dns320l: export mcu_power GPIO 2024-10-28 09:24:32 +01:00
lantiq lantiq: use devm for mutex_init 2024-11-28 18:46:49 +00:00
layerscape layerscape: drop fmc and fmc-eth-config package 2024-10-29 00:07:55 +01:00
loongarch64 kernel: activate *_FS_SECURITY and *_FS_ACL_ATTR options for all big flash targets 2024-09-06 22:46:59 +02:00
malta kernel: activate *_FS_SECURITY and *_FS_ACL_ATTR options for all big flash targets 2024-09-06 22:46:59 +02:00
mediatek mediatek: filogic: add support for GatoNetworks GDSP 2024-11-28 18:47:13 +00:00
mpc85xx mpc85xx: move CONFIG_MTD_SPLIT_FIRMWARE up 2024-10-24 00:30:11 +02:00
mvebu utils: Add the omnia-eeprom utility 2024-11-28 18:47:15 +00:00
mxs mxs: drop removal of firewall4 package 2024-10-30 14:17:33 +01:00
octeon octeon: set Linux 6.6 as the default kernel 2024-09-09 18:24:34 +02:00
omap omap: remove 6.1 support 2024-09-16 00:19:49 +02:00
pistachio pistachio: drop files for Linux 6.1 2024-09-20 18:57:33 +01:00
qoriq kernel: move CONFIG_DRM_OFDRM to generic 2024-10-22 00:50:55 +02:00
qualcommax qualcommax: ipq60xx: add NSS reserved memory 2024-11-28 18:47:01 +00:00
ramips ramips: mt7621: fix typo 2024-11-28 18:46:53 +00:00
realtek realtek: rtl83xx: use devm for mutex_init 2024-11-28 18:46:55 +00:00
rockchip kernel: bump 6.6 to 6.6.61 2024-11-24 22:46:21 +01:00
sifiveu kernel: Reorder config files 2024-10-22 21:13:26 +02:00
siflower treewide: remove THIS_MODULE assignment 2024-11-28 18:46:45 +00:00
starfive kernel: bump 6.6 to 6.6.61 2024-11-24 22:46:21 +01:00
sunxi kernel: bump 6.6 to 6.6.61 2024-11-24 22:46:21 +01:00
tegra tegra: promote kernel 6.6 as default 2024-07-13 14:29:16 +02:00
uml uml: fix glibc-static check with GCC14 2024-06-22 22:06:06 +02:00
x86 x86: switch config to a tickless kernel 2024-11-28 18:47:27 +00:00
zynq zynq: drop 6.1 support 2024-08-03 11:36:59 +02:00
Makefile linux: add dtb makefile target to targets list 2024-02-08 23:04:55 +01:00