Change _timer_freq defaults. While muqss keeps its 100 Hz default just like tt stays at 1000 Hz, CacULE now defaults to 2000 Hz, and all other CPU schedulers will now default to 1000 Hz.

Reportedly, multiple games (mostly Unity based, but not only?) are seeing much higher CPU usage at lower tickrates resulting in degraded performance when CPU bound.
300 Hz and less are the worst offenders, but 500 and 750 Hz are also affected to some extent. CacULE is seemingly less efficient than everything else and needs 2000 Hz to keep up in those scenarios.

OS (kernel, CONFIG_HZ) 	Min 	Average 	Max
Arch Linux (linux, 300 Hz) 	81% 	91% 	96%
Arch Linux (linux-zen, 1000 Hz) 	21% 	25% 	42%
Fedora Linux (linux (Default), 1000 Hz) 	20% 	25% 	53%

1000 Hz isn't an issue on modern systems, but older or very weak CPUs (like Atoms) which aren't used for gaming might want to use lower values. Since our main target audience is gamers, it only makes sense to change the defaults here.
This commit is contained in:
Tk-Glitch
2022-09-30 15:55:55 +02:00
parent 6f76d62c8c
commit 3bfe0af945
3 changed files with 9 additions and 9 deletions

View File

@@ -56,7 +56,7 @@ else
fi fi
pkgname=("${pkgbase}" "${pkgbase}-headers") pkgname=("${pkgbase}" "${pkgbase}-headers")
pkgver="${_basekernel}"."${_sub}" pkgver="${_basekernel}"."${_sub}"
pkgrel=269 pkgrel=270
pkgdesc='Linux-tkg' pkgdesc='Linux-tkg'
arch=('x86_64') # no i686 in here arch=('x86_64') # no i686 in here
url="https://www.kernel.org/" url="https://www.kernel.org/"

View File

@@ -222,7 +222,7 @@ _random_trust_cpu="false"
# Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt" # Valid values are "none", "smt", "mc", "mc-llc"(for zen), "smp", "all" - Kernel default is "smt"
_runqueue_sharing="" _runqueue_sharing=""
# Timer frequency - "100" "500", "750" or "1000" ("2000" can be set for cacule cpu sched, and will fallback to default if set while on another schedulers) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" # Timer frequency - "100" "250" "300" "500" "750" "1000" ("2000" is available for cacule cpusched only) - More options available in kernel config prompt when left empty depending on selected cpusched with the default option pointed with a ">" (2000 for cacule, 100 for muqss and 1000 for other cpu schedulers)
_timer_freq="" _timer_freq=""
# Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil) # Default CPU governor - "performance", "ondemand", "schedutil" or leave empty for default (schedutil)

View File

@@ -1257,14 +1257,14 @@ _tkg_srcprep() {
typeset -A _default_timer_frequencies_index typeset -A _default_timer_frequencies_index
_default_timer_frequencies_index=( _default_timer_frequencies_index=(
["pds"]="3" ["pds"]="5"
["muqss"]="1" ["muqss"]="1"
["cacule"]="5" ["cacule"]="6"
["tt"]="5" ["tt"]="5"
["upds"]="3" ["upds"]="5"
["cfs"]="3" ["cfs"]="5"
["bmq"]="3" ["bmq"]="5"
["bore"]="3" ["bore"]="5"
) )
if [[ -n "$_timer_freq" && ! "${_avail_timer_frequencies[*]}" =~ "$_timer_freq" ]]; then if [[ -n "$_timer_freq" && ! "${_avail_timer_frequencies[*]}" =~ "$_timer_freq" ]]; then
@@ -1272,7 +1272,7 @@ _tkg_srcprep() {
_timer_freq="" _timer_freq=""
fi fi
# Default to 500Hz if _timer_freq is not set # Default to 1000Hz if _timer_freq is not set
if [ -z "$_timer_freq" ]; then if [ -z "$_timer_freq" ]; then
_default_index="${_default_timer_frequencies_index[$_cpusched]}" _default_index="${_default_timer_frequencies_index[$_cpusched]}"
msg2 "Which kernel interrupt timer frequency would you like to use ?" msg2 "Which kernel interrupt timer frequency would you like to use ?"