Intel Uncore Frequency Driver On Linux Is Closer To Mainline With Latest Patches
Sent out shortly before the holidays was an Intel Uncore Frequency driver for Linux servers. That driver has now been revised with the latest fixes and is looking like it could soon land in mainline for helping latency-sensitive servers.
The Intel Uncore Frequency driver for Linux allows reading and setting the uncore frequency, which controls the RING / Last Level Cache (LLC) clocks. Increasing the uncore frequency can help with improving memory latency or at least making the latency consistent by avoiding the dynamic uncore frequency selection. Increasing the clocks obviously come with increased power/heat. By default, the Intel uncore frequency is dynamic based upon the CPU performance state and power constraints.
Intel has long published as part of their data sheets that the uncore frequency is controlled via a specific MSR (register 0x620) while now the intel_uncore frequency driver makes it easy to read and manipulate it from user-space. Interested server administrators could already manipulate the MSR as desired, but the Intel Uncore Frequency Linux driver makes it very easy now to read and set via new sysfs interfaces.
This driver exposes the min/max frequencies for the uncore at the initial power-on stage and then the current min/max frequencies, which can be written to with different frequencies. The value is per-die in multi-die servers or package scoped for non-multi-die servers. The information is exposed within /sys/devices/system/cpu/intel_uncore_frequency.
The driver itself is quite basic and is currently on the kernel mailing list but hopefully we could see this Intel Uncore Frequency driver land as soon as Linux 5.6.
The Intel Uncore Frequency driver for Linux allows reading and setting the uncore frequency, which controls the RING / Last Level Cache (LLC) clocks. Increasing the uncore frequency can help with improving memory latency or at least making the latency consistent by avoiding the dynamic uncore frequency selection. Increasing the clocks obviously come with increased power/heat. By default, the Intel uncore frequency is dynamic based upon the CPU performance state and power constraints.
Intel has long published as part of their data sheets that the uncore frequency is controlled via a specific MSR (register 0x620) while now the intel_uncore frequency driver makes it easy to read and manipulate it from user-space. Interested server administrators could already manipulate the MSR as desired, but the Intel Uncore Frequency Linux driver makes it very easy now to read and set via new sysfs interfaces.
This driver exposes the min/max frequencies for the uncore at the initial power-on stage and then the current min/max frequencies, which can be written to with different frequencies. The value is per-die in multi-die servers or package scoped for non-multi-die servers. The information is exposed within /sys/devices/system/cpu/intel_uncore_frequency.
The driver itself is quite basic and is currently on the kernel mailing list but hopefully we could see this Intel Uncore Frequency driver land as soon as Linux 5.6.
Add A Comment