Intel Efficiency Latency Control "ELC" Feature Slated For Linux 6.12
- Reference: 0001490654
- News link: https://www.phoronix.com/news/Intel-Uncore-ELC-For-Linux-6.12
- Source link:
The Intel Efficiency Latency Control allows fine-tuning SoCs -- with a particula emphasis on Xeon processors -- to achieve greater energy efficiency if so desired. The ELC tunables can be controlled under Linux with some new sysfs options exposed by these patches. The ELC Linux patches sum up the capability as:
"In the realm of high-performance computing, particularly with Xeon processors, managing uncore frequency is an important aspect of system optimization. Traditionally, the uncore frequency is ramped up rapidly in high load scenarios. While this strategy achieves low latency, which is crucial for time-sensitive computations, it does not necessarily yield the best performance per watt, —a key metric for energy efficiency and operational cost savings.
The Efficiency vs. Latency Control (ELC) feature allows user to influence the uncore frequency scaling algorithm. Hardware monitors the average CPU utilization across all cores at regular intervals. If the average CPU utilization is below a user defined threshold (elc_low_threshold_percent), the user defined uncore frequency floor frequency will be used (elc_floor_freq_khz), minimizing latency. Similarly in high load scenario where the CPU utilization goes above the high threshold value (elc_high_threshold_percent) instead of jumping to maximum uncore frequency, uncore frequency is increased in 100MHz steps until the power limit is reached."
The patches adding this Efficiency Latency Control feature to the Intel uncore driver code have been queued into [2]platform-drivers-x86.git's for-next branch . With it now in the "for-next" code ahead of the upcoming Linux 6.12 merge window, it should be part of this next kernel cycle barring any last minute issues from coming to light.
[1] https://www.phoronix.com/news/Intel-Uncore-Efficiency-ELC
[2] https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/?h=for-next&id=bb516dc79c4a6334d5ef6bdbd0d262cf8be9db8e
phoronix