Expanded Turbo Boost Max 3.0 Support Is Being Worked On For Linux
With the forthcoming Linux 4.10 kernel there is finally support for Turbo Boost Max 3.0 as featured in some newer Intel CPUs. But, unfortunately, the code in Linux 4.10 doesn't work for all TBM3-capable systems out there, but a new kernel patch is being worked on for Linux 4.11 or later to make it work with more hardware.
Turbo Boost Max 3.0 delivers 15% better single-threaded performance, at least according to Intel on Windows, and is about boosting the performance for single-threaded workloads by moving them to the fastest core at a higher frequency.
I hadn't run any Turbo Boost Max 3.0 (TBM3) tests on Linux 4.10 with my Core i7 6800K Broadwell-E system since it turns out it isn't properly supported there. The TBM3 code in Linux 4.10 only works for Broadwell systems that turn on HWP (Hardware P-States), but not all board vendors enable it. The Hardware P-States support is needed for exposing the Collaborative Processor Performance Control (CPPC) tables and that in turn is needed for the original TBM3 Linux support.
With the in-development patches, Turbo Boost Max 3.0 will work even for systems lacking HWP. Srinivas Pandruvada of Intel explained with the patch's new INTEL_TURBO_MAX_3 Kconfig switch, "This driver reads maximum performance ratio of each CPU and set up+ the scheduler priority metrics. In this way scheduler can prefer CPU with higher performance to schedule tasks. This driver is only required when the system is not using Hardware P-States (HWP). In HWP mode, priority can be read from ACPI tables."
The patch can be found here. Hopefully we'll see it land for Linux 4.11 so more Turbo Boost Max 3.0 capable systems can actually see it working under Linux, nearly one year after the first TBM3 CPUs began to ship.
Turbo Boost Max 3.0 delivers 15% better single-threaded performance, at least according to Intel on Windows, and is about boosting the performance for single-threaded workloads by moving them to the fastest core at a higher frequency.
I hadn't run any Turbo Boost Max 3.0 (TBM3) tests on Linux 4.10 with my Core i7 6800K Broadwell-E system since it turns out it isn't properly supported there. The TBM3 code in Linux 4.10 only works for Broadwell systems that turn on HWP (Hardware P-States), but not all board vendors enable it. The Hardware P-States support is needed for exposing the Collaborative Processor Performance Control (CPPC) tables and that in turn is needed for the original TBM3 Linux support.
With the in-development patches, Turbo Boost Max 3.0 will work even for systems lacking HWP. Srinivas Pandruvada of Intel explained with the patch's new INTEL_TURBO_MAX_3 Kconfig switch, "This driver reads maximum performance ratio of each CPU and set up+ the scheduler priority metrics. In this way scheduler can prefer CPU with higher performance to schedule tasks. This driver is only required when the system is not using Hardware P-States (HWP). In HWP mode, priority can be read from ACPI tables."
The patch can be found here. Hopefully we'll see it land for Linux 4.11 so more Turbo Boost Max 3.0 capable systems can actually see it working under Linux, nearly one year after the first TBM3 CPUs began to ship.
9 Comments