Tag Archives: Performance

Initial Benchmarks Of The Spectre “SWAPGS” Mitigation Performance Impact


Yesterday the SWAPGS vulnerability was made public as a new variant of Spectre V1 that affects all operating systems and is believed to affect only Intel CPUs. The SWAPGS discovery by Bitdefender was quietly mitigated by Microsoft for Windows 10 last month while yesterday the patches were posted for the mainline Linux kernel as the Grand Schemozzle. As soon as learning of this SWAPGS vulnerability and seeing the kernel code, I began running some preliminary performance tests to look at the impact of this latest CPU mitigation.

The kernel code added yesterday to mainline by Thomas Gleixner commented on the issue:

“The performance deterioration departement is not proud at all to present yet another set of speculation fences to mitigate the next chapter in the ‘what could possibly go wrong’ story.

The new vulnerability belongs to the Spectre class and affects GS based data accesses and has therefore been dubbed ‘Grand Schemozzle’ for secret communication purposes. It’s officially listed as CVE-2019-1125.”

Especially with that text, I was quite interested in seeing what the performance is looking like as a result of this latest kernel activity for tightening up the Intel CPU security. This morning I have results wrapped up on an Intel Core i9 9900K processor. SWAPGS or the “Grand Schemozzle” is believed to affect all Intel CPUs from at least Ivybridge through their latest products.

The Core i9 9900K processor was indeed reported as affected when running on the patched kernel. I fired off some benchmarks of the Linux 5.3 kernel code as of Sunday compared to the latest code as of overnight that’s been patched for SWAPGS and mitigated by default unless explicitly disabling Spectre V1 mitigations or all CPU vulnerability mitigations in general. Contrary to Red Hat’s report initially saying AMD CPUs are affected, the Linux kernel is not applying this SWAPGS mitigation to AMD hardware (AMD has also issued a statement that they believe they are unaffected by this new Spectre V1 variant).

Over the days ahead I’ll work on more SWAPGS benchmarks particularly on a generation or two older to see if the performance impact is any more noticeable. On the following pages are these initial results from the Core i9 9900K system running Ubuntu 19.04 with Linux 5.3 Git.


A Look At Intel’s Clear Linux Performance Over The Course Of July


CLEAR LINUX --

Over the course of July, Intel’s rolling-release Clear Linux distribution shifted from Linux 5.1 to the brand new Linux 5.2 kernel, pulled in the latest GCC9 branch compiler fixes, updated to Python 3.7.4, rolled out a new OpenJDK build, and had many other package updates and original optimizations applied.

With some of the systems I am benchmarking Clear Linux daily with over at LinuxBenchmarking.com, here are some of the results that saw changes on the test systems over the past month.

Linux 5.2 did appear to pull back the I/O performance in a few of the tested workloads.

But the Sockperf results that stress the kernel’s socket interfaces were coming out faster for the end of July, which is nice considering the hits they’ve taken as a result of the various CPU security mitigations.

There were some slight improvements in some of the CPU workloads.

There were some strange regressions with Clear’s boot times.

The kernel at least was booting faster on Linux 5.2.

But for the most part a majority of the source-based CPU heavy tasks didn’t see any major change for better or worse during July. Though not that anything major was really anticipated since there weren’t any groundbreaking software releases in July and presumably a lot of Intel engineers are taking summer holidays that otherwise would be working on Clear’s performance optimizations.

So overall, the month ended mostly flat at least for the workloads we are continuously testing on a sub-set of different Intel hardware.


Radeon RX 5700 / RX 5700 XT Linux Gaming Performance With AMDGPU 5.3 + Mesa 19.2-devel


Now that the flow of initial Navi fixes and optimizations has settled down for both the AMDGPU DRM kernel driver and the Mesa RADV/RadeonSI user-space driver components, here is a look at AMD Radeon RX 5700 and RX 5700 XT graphics card performance on Ubuntu Linux at the end of July, now three weeks after these 7nm graphics cards first shipped.

This round of testing features the Navi Radeon RX 5700 series tested with the very latest Linux 5.3 development kernel as of this past weekend, which is the first kernel featuring this Navi support. Since the initial merge earlier this month, there have already been some Navi 10 fixes that followed. On the OpenGL/Vulkan driver side, Mesa 19.2-devel is branching in early August and now has decent support for the Radeon RX 5700 series in place. Since the earlier RadeonSI support and the RADV Vulkan driver support that landed on launch day, there has continued to be a number of fixes to land, various new features, and different driver performance optimizations.

For a while there were Navi/GFX10 commits to Mesa almost daily but now with that initial bring-up in good standing, I’ve been running the latest Git code paired with LLVM 9.0 SVN over the past number of days. Overall the Linux driver support when riding this latest code-base is in good shape. There still are some hangs to deal with one notable case being Rise of The Tomb Raider, but that’s a known issue to the developers and they are currently pursuing workarounds. I’ve also experienced a few other hangs such in Batman: Arkham Origins with DXVK but overall the OpenGL and Vulkan support for the RX 5700 / RX 5700 XT is now good overall.

For those not comfortable building these low-level driver components from source, they should be found in the autumn Linux distribution updates like Fedora 31 and Ubuntu 19.10 with the Linux 5.3 kernel and Mesa 19.2 components reaching stable in the September time-frame.

For comparing the NVIDIA performance, various cards were tested while using its NVIDIA 430.26 stable driver. The graphics cards tested for this comparison included:

– RX 590

– RX Vega 56

– RX Vega 64

– Radeon VII

– RX 5700

– RX 5700 XT

– GTX 1070

– GTX 1080

– GTX 1080 Ti

– RTX 2060

– RTX 2070

– RTX 2080

– RTX 2080 Ti

– TITAN RTX

The graphics cards tested were based upon the relevant cards I had available; sadly no RTX SUPER coverage as NVIDIA apparently has been uninterested in the SUPER graphics cards on Linux. All of these cards were tested from the Intel Core i9 9900K system with ASUS PRIME Z390-A motherboard, 16GB of RAM, Samsung 970 EVO 250GB, and running Ubuntu 19.04 with the various kernel/driver modifications.

Via the Phoronix Test Suite various Linux native and Steam Play gaming benchmarks were carried out. Now that the Navi Linux support is better stabilized and approaching stable releases for the necessary driver components, expect more Radeon RX 5700 tests over the weeks ahead.


Linux 5.2/5.3 Kernel Performance On The AMD Ryzen 9 3900X


AMD --

With yesterday’s Windows 10 vs. Ubuntu 18.04 LTS Linux benchmarks for the AMD Ryzen 9 3900X, some suggested that the Linux performance could have been better if using a Linux 5.x kernel. Well, here are some benchmarks comparing the performance of Ubuntu 18.04.2 LTS with its Linux 4.18 kernel compared to Linux 5.2 stable as well as the brand new Linux 5.3 development kernel.

On the same Ryzen 9 3900X system, these three kernel releases (Ubuntu 18.04’s stock 4.18 kernel, Linux 5.2 stable, Linux 5.3 Git) were compared across a variety of workloads.

Sans graphics and I/O for any areas explicitly improved upon in recent kernel releases, the CPU performance itself went pretty much unchanged.

Obviously if you are using the open-source Intel/Radeon graphics in particular, I certainly recommend the newest kernel as possible for the updated drivers, but in terms of Zen 2 desktop CPU performance it was largely the same using the stock Ubuntu 18.04 LTS kernel.

Those wanting to look through the dozens of benchmarks individually, they are available via 1907278-HV-3900XLINU13 on OpenBenchmarking.org.

Looking ahead to Linux 5.4 late in 2019, that’s where there is the possibility of Zen 2 performance changes due to AMD’s new CPPC CPUFreq driver as one performance-sensitive change pending, but we’ll see what else comes about and other optimizations now that more Linux developers are getting their hands on these impressive processors.


Windows 10 vs. Ubuntu 18.04 LTS Performance On AMD Ryzen 9 3900X


For those wondering how the performance compares of AMD’s new Zen 2 processors between Windows 10 and Linux, here are our initial benchmarks across dozens of benchmarks for the AMD Ryzen 9 3900X on Windows 10 Pro 1903 against Ubuntu 18.04.2 LTS.

This is the first of surely several Windows vs. Linux performance comparisons to come of these new AMD Zen 2 processors. In this article is just Windows 10 against Ubuntu 18.04 LTS since the ASUS has yet to ship the new BIOS for the ROG CROSSHAIR VIII HERO WiFi to allow newer (non-patched) Linux distributions to boot without problems due to the systemd/RdRand issue. Once that BIOS update is available for this system to address that Linux boot issue, other Linux distributions will be added to the comparison.

The test system for this first cross-OS comparison was the AMD Ryzen 9 3900X at stock speeds, ASUS ROG CROSSHAIR VIII HERO WiFi, 2 x 8GB DDR4-3600 memory, 2TB Corsair Force MP600 PCIe 4.0 NVMe SSD, and Radeon RX 560 graphics (this round of testing isn’t focused on gaming performance but strictly CPU related workloads).

Both Windows 10 and Ubuntu 18.04 LTS had all available system updates at the time of testing. Via the Phoronix Test Suite some 66 benchmarks were run on both Windows and Linux for this round of benchmarking.