summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-03-05 20:23:14 +0100
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-03-13 04:40:16 +0000
commitfd2a16c66b5b521ff071835909b770acc0d0981e (patch)
tree81e69e70709781581918845c9168a23eec9181e5
parented3332f9eac3cedcbbaf48095b1ad202a5379267 (diff)
downloadvyos-1x-fd2a16c66b5b521ff071835909b770acc0d0981e.tar.gz
vyos-1x-fd2a16c66b5b521ff071835909b770acc0d0981e.zip
T2447: add configurable kernel boot option 'disable-power-saving'
Lower available CPU C states to a minimum if this option set. This will set Kernel commandline options "intel_idle.max_cstate=0 processor.max_cstate=1". (cherry picked from commit 3a3e0dff4ff1f80835eca6b2362d792e3ecacc8e)
-rw-r--r--interface-definitions/system_option.xml.in6
-rwxr-xr-xsrc/conf_mode/system_option.py2
2 files changed, 8 insertions, 0 deletions
diff --git a/interface-definitions/system_option.xml.in b/interface-definitions/system_option.xml.in
index 602d7d100..fe517d17d 100644
--- a/interface-definitions/system_option.xml.in
+++ b/interface-definitions/system_option.xml.in
@@ -43,6 +43,12 @@
<valueless/>
</properties>
</leafNode>
+ <leafNode name="disable-power-saving">
+ <properties>
+ <help>Disable CPU power saving mechanisms also known as C states</help>
+ <valueless/>
+ </properties>
+ </leafNode>
</children>
</node>
<leafNode name="keyboard-layout">
diff --git a/src/conf_mode/system_option.py b/src/conf_mode/system_option.py
index 3b5b67437..7ed451e16 100755
--- a/src/conf_mode/system_option.py
+++ b/src/conf_mode/system_option.py
@@ -92,6 +92,8 @@ def generate(options):
if 'kernel' in options:
if 'disable_mitigations' in options['kernel']:
cmdline_options.append('mitigations=off')
+ if 'disable_power_saving' in options['kernel']:
+ cmdline_options.append('intel_idle.max_cstate=0 processor.max_cstate=1')
grub_util.update_kernel_cmdline_options(' '.join(cmdline_options))
return None