uncore: Allow to configure uncore ELC control#731
uncore: Allow to configure uncore ELC control#731spandruvada wants to merge 1 commit intoredhat-performance:masterfrom
Conversation
The Efficiency Latency Control (ELC) feature improves performance per watt. With this feature hardware power management algorithms optimize trade-off between latency and power consumption. Add additional configuration for uncore plugin to include attributes to configure ELC. Refer to Intel White Paper https://www.intel.com/content/www/us/en/content-details/826934/intel-xeon-6-processors-performance-and-power-profiles-default-latency-optimized-mode-and-other-options.html?DocID=826934 Linux kernel documentation: https://docs.kernel.org/admin-guide/pm/intel_uncore_frequency_scaling.html Example configuration: If the average CPU utilization is below 10% (elc_low_threshold_percent attribute below), uncore floor frequency of 1400MHz will be used (elc_floor_freq_khz attribute below) instead of hardware calculated minimum. [uncore_all] type=uncore elc_floor_freq_khz=1400000 elc_high_threshold_enable=1 elc_high_threshold_percent=95 elc_low_threshold_percent=10
|
Thank you for the PR, @spandruvada , much appreciated! Let me try to get my hands on a more recent Intel system that supports this so that I can test this. |
|
Got my hands on a hardware to test this on today. Hopefully I get to keep it for at least 2 weeks. However, I'm seeing: I'm testing this with the latest TuneD commit Edit: Getting this both on RHEL10 snapshot with python 3.12 and also CentOS Stream 9 with python 3.9. |
|
It seems it was extension of the internal API earlier which broke it, it needs changes to the needs to be now: This has to be changed in the all get/set. |
Thanks, @yarda . I've tested this PR successfully on RHEL10 snapshot with Granite Rapid AP (P-cores) and CentOS Stream 9 with Sierra Forest SP (SRF-SP) (E-cores) without any issues (all 4 new knobs were set). This is the patch I used on top of @spandruvada 's work: Srinivas, would you be able to update your PR so that we can merge this? Thank you and our apologies for the delay. |
The Efficiency Latency Control (ELC) feature improves performance per watt. With this feature hardware power management algorithms optimize trade-off between latency and power consumption.
Add additional configuration for uncore plugin to include attributes to configure ELC.
Refer to Intel White Paper
https://www.intel.com/content/www/us/en/content-details/826934/intel-xeon-6-processors-performance-and-power-profiles-default-latency-optimized-mode-and-other-options.html?DocID=826934
Linux kernel documentation:
https://docs.kernel.org/admin-guide/pm/intel_uncore_frequency_scaling.html
Example configuration:
If the average CPU utilization is below 10% (elc_low_threshold_percent attribute below), uncore floor frequency of 1400MHz will be used (elc_floor_freq_khz attribute below) instead of hardware calculated minimum.
[uncore_all]
type=uncore
elc_floor_freq_khz=1400000
elc_high_threshold_enable=1
elc_high_threshold_percent=95
elc_low_threshold_percent=10