summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-03-05 20:23:14 +0100
committerChristian Breunig <christian@breunig.cc>2024-03-05 20:23:14 +0100
commit3a3e0dff4ff1f80835eca6b2362d792e3ecacc8e (patch)
treeb5afd57d538a627ff91d76180fa5b78077aa40c0
parent450bb16795305e32e46b21da4bb5913843d9d871 (diff)
downloadvyos-1x-3a3e0dff4ff1f80835eca6b2362d792e3ecacc8e.tar.gz
vyos-1x-3a3e0dff4ff1f80835eca6b2362d792e3ecacc8e.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".
-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