NVIDIA Gaming Performance Minimally Impacted By KPTI Patches
Earlier this week when news was still emerging on the "Intel CPU bug" now known as Spectre and Meltdown I ran some Radeon gaming tests with the preliminary Linux kernel patches providing Kernel Page Table Isolation (KPTI) support. Contrary to the hysteria, the gaming performance was minimally impacted with those open-source Radeon driver tests while today are some tests using the latest NVIDIA driver paired with a KPTI-enabled kernel.
Now that time has allowed, here are some benchmarks of the Linux KPTI patches while using two NVIDIA GeForce (GTX 1060 and GTX 1080 Ti) graphics cards in a variety of Linux games.
For this round of testing I was using the Linux 4.14.11 kernel that contains the preliminary Kernel Page Table Isolation patches. Linux 4.14 was used for compatibility with the NVIDIA proprietary graphics driver as NVIDIA hasn't yet released a compatible driver for Linux 4.15.
Among all the other hysteria elsewhere about the widespread "CPU bug" were also a few comments of how KPTI "breaks" the NVIDIA Linux driver as it changes one of the used kernel symbols (cpu_tlbstate) to GPL-only. NVIDIA's driver didn't play with 4.15 before that and so users wouldn't have had it working on 4.15 previously without patches. NVIDIA is likely to release a 4.15 compatible driver any day now. But anyhow when testing Linux 4.14.11 with CONFIG_PAGE_TABLE_ISOLATION enabled, the NVIDIA 387.34 driver built just fine and has been running without any problems.
There has also been speculation in some communities that NVIDIA's gaming performance would be more greatly impacted by the presence of KPTI due to its software scheduling and more heavy on system calls than the Radeon/AMDGPU driver, warranting these tests today to see if true.are some tests using the latest NVIDIA driver paired with a KPTI-enabled kernel.
My NVIDIA Linux gaming tests using the 4.14.11 kernel with KPTI enabled has been working since last night without any issues.
A variety of games were tested -- both using OpenGL and Vulkan -- to look for any performance difference between the same kernel with KPTI enabled and it then tested again being off for both graphics cards. All tests were done via the Phoronix Test Suite.
The Phoronix Test Suite was also monitoring the load-time / overall automated benchmarking time, but there was no meaningful difference in the results. Due to heavy I/O being slower sometimes with KPTI as shown in several Phoronix benchmarks now, some were concerned that games would be loading slower, but so far I've found that to be unfounded.