Bender: Intel HWP mode configurable via RUN_OPT

The updated Bender version is configurable regarding the mode in which to run
the Intel HWP plugin. This can now be controlled via the new run option
'--bender-intel-hwp-mode' (only when running on NOVA). The option knows 4 valid
values 'off', 'performance', 'balanced', and 'power_saving'. When running on
NOVA, the default value applied by the run tool is 'performance'. when running
on any other kernel, the default value of Bender ('off') is used. Therefore,
when not setting the new '--bender-intel-hwp-mode' flag, the behavior is the
same as before this commit.

Fixes #4224
This commit is contained in:
Martin Stein
2022-09-05 13:34:36 +02:00
committed by Norman Feske
parent d9b5e4ae8d
commit ede007c2dd
3 changed files with 33 additions and 5 deletions

View File

@@ -1,3 +1,31 @@
#
# Return Bender option that configures Bender's Intel HWP plugin
#
# \param --bender-intel-hwp-mode Run the Intel HWP plugin of Bender in the
# given mode. Valid argument values are
# "off",
# "performance",
# "balanced", and
# "power_saving"
# The argument value defaults to
# "performance".
#
proc bender_intel_hwp_mode_option { } {
set opt [get_cmd_arg_first --bender-intel-hwp-mode "performance"]
if {$opt == "off"} {
return "intel_hwp_off"
} elseif {$opt == "performance"} {
return "intel_hwp_performance"
} elseif {$opt == "balanced"} {
return "intel_hwp_balanced"
} elseif {$opt == "power_saving"} {
return "intel_hwp_power_saving"
} else {
return "intel_hwp_performance"
}
}
proc binary_name_ld_lib_so { } { return "ld-nova.lib.so" }
proc binary_name_core_a { } { return "core-nova.a" }
proc binary_name_timer { } { return "nova_timer_drv" }
@@ -65,9 +93,9 @@ proc run_boot_dir {binaries} {
set options_bender ""
#
# Enable Intel HWP unconditionally
# Apply Intel HWP mode
#
append options_bender " intel_hwp"
append options_bender " [bender_intel_hwp_mode_option]"
if {[apply_microcode]} {
exec cp bin/micro.code [run_dir]/boot/