Intel Efficiency Latency Control "ELC" Feature Slated For Linux 6.12
Last month I wrote about Intel Linux engineers working on a new Efficiency Latency Control feature for their uncore driver. This ELC option allows for adjusting the behavior of the Intel uncore for efficiency versus latency characteristics. Those Intel ELC patches to the TPMI uncore driver are now queued up for merging with the upcoming Linux 6.12 cycle.
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:
The patches adding this Efficiency Latency Control feature to the Intel uncore driver code have been queued into 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.
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 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.
4 Comments