Software Linux Reviews & Articles
There have been 862 Linux hardware reviews and benchmark articles on Phoronix for software. Separately, check out our news section for related product news.
There have been 862 Linux hardware reviews and benchmark articles on Phoronix for software. Separately, check out our news section for related product news.
Now that the Linux 6.3 merge window is over with Linux 6.3-rc1 having been released last night, here is a look at all of the interesting changes, new features, and hardware support coming with this next major kernel version.
This week Intel released Embree 4.0 as the newest version of their open-source, high performance ray-tracing library. While the headline feature is now having support for GPU acceleration with SYCL to take advantage of Arc Graphics and other GPU hardware with SYCL support, for those that have long been using Embree on CPUs its performance has also improved. Here are some initial CPU-based benchmarks I did this week on Embree 4.0 with Intel's new 4th Gen Xeon Scalable "Sapphire Rapids" processors.
Earlier this week I posted benchmarks looking at how the AMD Ryzen Threadripper 3990X performance has evolved in the three years to the day since that 64-core / 128-thread HEDT chip launched. While overall the Threadripper 3990X performance has evolved nicely under Linux since 2020, when it came to the video encoding tests in particular they performed worse overall. As I had raised in that earlier article and now elaborated with some follow-up tests, that regression is driven by the default "schedutil" frequency scaling governor used by default.
Last summer Intel published guidance around the Data Operand Independent Timing (DOIT) instruction mode that can be enabled with recent generations of Intel processors to ensure constant time execution for a subset of the Intel instruction set, which can be particularly important for cryptographic algorithms. Linux kernel developer discussions fizzled out last year over handling this DOIT functionality for what is described as a CPU vulnerability with recent Intel CPUs. However, now a Linux kernel patch from a Google developer would enable this change unconditionally for newer Intel CPUs but raises performance concerns.
Expected to be squared away in time for the Linux 6.3 kernel cycle, which is kicking off in February, is Automatic IBRS as a new feature of Zen 4 processors. The patches already have been queued up into TIP's x86/cpu branch so barring any issues will be all wired up for this next kernel version. Automatic IBRS can provide better performance than the Retpolines implementation used currently on Zen 4 and prior CPUs as part of the Spectre V2 mitigations. With the switch over to Automatic IBRS for Zen 4, it means better performance in some areas as shown by these benchmarks today with AMD 4th Gen EPYC "Genoa" processors.
As I wrote about earlier this week, Linux 6.3 is positioned to support AMD Zen 4's Automatic IBRS feature. AMD's Linux enablement code around Automatic IBRS has been undergoing review the past few months and now via TIP's x96/cpu Git branch is to be sent in next month for the Linux 6.3 merge window. I've run some preliminary benchmarks of the Automatic IBRS support on Zen 4 and it's looking positive for further enhancing the performance of AMD's new Ryzen 7000 series and EPYC 9004 series processors.
When the Retbleed security vulnerability was introduced earlier this year mitigating it for Intel Skylake and Skylake-derived CPU cores required imposing Indirect Branch Restricted Speculation (IBRS) that further tanked the out-of-the-box performance for these aging Intel CPUs. But being introduced now with Linux 6.2 is a new mitigation technique named Call Depth Tracking that is helping recover some of that lost performance and in turn extending the usefulness of the Skylake-derived processors still in service.
Now that the merge window for Linux 6.2 is over, here is a look at all the prominent features on deck for the Linux 6.2 kernel that will be released as stable in about eight weeks.
Last month when AMD launched the EPYC 9004 "Genoa" series they also published AOCC 4.0 as the newest version of the AMD Optimizing C/C++ Compiler derived from LLVM/Clang and tailored to their latest Zen microarchitecture. At the time I ran some AOCC 4.0 benchmarks on the Ryzen 7000 series and compared it to GCC and Clang. Since then I've had the time on my Genoa test rig to look at how well AOCC 4.0 is performing and in this article are some benchmarks with the EPYC 9374F processors between GCC and AOCC 4.0.
Released on Sunday was Linux 6.1 and in addition to having many new features making it all the more exciting is that it's expected to be this year's Long-Term Support (LTS) kernel release. As such it will see widespread adoption particularly among servers and much interest from the hyperscalers. For those weighing an upgrade from last year's Linux 5.15 LTS kernel, Linux 6.1 with initial testing on an AMD EPYC Milan-X 2P server has shown a nice speed bump is possible across a wide-range of workloads.
A recurring question that has come up by readers since the recent launch of the Intel 13th Gen Core "Raptor Lake" processors has been whether it's still worthwhile running with the "mitigations=off" Linux kernel option to disable software-controlled CPU security mitigations to increase performance. For production systems that is never recommended due to the security risk, but for those wondering, here is a brief look at the mitigation situation on Raptor Lake with the flagship Core i9 13900K.
Back during the summer once Asahi Linux introduced initial Apple M2 SoC support I ran many Apple M2 Linux benchmarks including a look at how the M2 competes with AMD and Intel laptop processors. With months having passed since then and the Apple M1/M2 Linux support has continued to advance upstream as well as more work hitting the Asahi Linux tree, here is a fresh look at where the performance of the M2 is currently at compared to that initial at-launch support.
For those of you upgrading to an Intel 13th Gen Core "Raptor Lake" system this holiday season, here are some benchmarks looking at how the varying kernel versions affect the Core i9 13900K flagship performance. Testing started using the Linux 5.15 LTS kernel shipped by Ubuntu 22.04 LTS currently and ends with the Linux 6.1 Git snapshot of that kernel nearing its official release and what is expected to be this year's LTS kernel version.
Last week when launching the AMD EPYC 9004 "Genoa" processors, AMD released AOCC 4.0 as the newest version of their optimizing C/C++ compiler that now supports their Zen 4 micro-architecture. Last week I ran some initial AOCC 4.0 benchmarks and this LLVM/Clang downstream was looking rather favorable in relation to upstream LLVM/Clang, while since then I've been able to conduct more thorough benchmarks across a wide variety of C/C++ open-source workloads. Here is that more extensive round of AOCC 4.0 benchmarking against the open-source LLVM/Clang and AOCC compilers.
On Thursday when launching AMD 4th Gen EPYC Genoa processors, AMD also published AOCC 4.0 as the newest version of the AMD Optimizing C/C++ Compiler. I've been putting it through its paces the past day and continues showing the positive performance impact of proper compiler tuning.
Now that Linux 6.1-rc1 was released, here is my look at all of the interesting kernel changes and new features that landed over the past two weeks. Linux 6.1 is shaping up to be another exciting kernel with many new software features, new hardware enablement work, and other changes for this end-of-year 2022 kernel version that is also likely to be the next Linux LTS release.
For those wondering the difference using the aging ACPI CPUFreq driver or the newer AMD P-State CPU frequency scaling drivers make for modern Ryzen 7000 "Zen 4" desktops, here are some CPUFreq/P-State driver tests using the Ryzen 9 7950X as well as testing the various governor options and looking at the impact on the CPU power consumption, peak frequency, and thermals too.
Last week at Intel's Innovation conference the Intel Developer Cloud "DevCloud" was announced, while on the AMD side there is already something similar: the AMD Cloud Platform. At the tail end of 2021, AMD announced the Accelerator Cloud as a way for trying out the latest EPYC CPUs and Instinct accelerators complete with a pre-configured ROCm compute software stack. The AMD Cloud Platform is a currently parallel effort to the Accelerator Cloud with the former intended more for developers while the latter is more customer-oriented. After trying out the AMD Cloud Platform, it's indeed an easy way to evaluate the latest AMD data center wares while having a easy-to-deploy, pre-configured software environment.
Last week I shared some initial numbers how surprisingly when disabling Zen 4 CPU security mitigations can actually *hurt* the Ryzen 7000 series CPU performance. While conventional wisdom and with past Intel/AMD processors yield better performance when disabling the CPU security mitigations, with the Ryzen 9 7950X it was found to be basically the opposite. I have since conducted more tests and using an AMD Ryzen 5 7600X to confirm the earlier results and dig deeper into the data.
Before getting busy with the AMD Ryzen 7000 "Zen 4" desktop testing, I recently wrapped up some benchmarks looking at the ACPI CPUFreq vs. AMD P-State frequency scaling drivers and various governor options for the AMD Ryzen 6000 "Rembrandt" mobile SoCs. If you are curious about the impact of CPUFreq/P-State and the various governors for the latest AMD laptops running Linux, this round of testing is for you.
Earlier this month Blender 3.3 released and in addition to introducing an Intel oneAPI back-end, it's notable for bringing improvements to the AMD HIP back-end for Radeon GPUs. Significant on the AMD side is extending GPU support back to GFX9/Vega. Thus it's a good time for a fresh round of benchmarking for showing how the AMD Radeon HIP performance against that of NVIDIA's existing CUDA and OptiX back-ends.
Following the July disclosure of the Retbleed CPU security vulnerability affecting older processors and an AMD change made in August, here is a fresh look at the performance impact of the Retbleed mitigations on Linux, including if opting for the IBPB-based Retbleed mitigation, and the accumulated CPU security mitigation impact for Zen 2 with the flagship Ryzen 9 3950X processor.
With the Apple M2 running Asahi Linux you may be wondering whether it's better to use the GCC compiler as is the default on upstream Arch Linux or whether going for LLVM Clang will yield better performance given all the LLVM/Clang usage by AArch64 vendors, including Apple's own Xcode compiler toolchain making use of it. If you are wondering about GCC vs. Clang for building binaries on the Apple M2, here are some benchmarks.
Yesterday marked the release of Linux 6.0-rc1 and as such the merge window is now over and no more feature work is set to land in this kernel version. Here is my write-up of all the interesting new features and changes/improvements coming for Linux 6.0.
As with many new Intel/AMD laptops these days, the recently launched Lenovo ThinkPad X13 Gen3 with AMD Ryzen 7 PRO 6850U "Rembrandt" SoC boasts ACPI Platform Profile support that is exposed under Linux for switching between low-power, balanced (default), and performance modes. For those curious about this ACPI Platform Profile impact, here are some benchmarks from this 6850U laptop under Ubuntu Linux and its impact on power and thermal efficiency too.
Since the disclosure of Retbleed earlier this month as the newest CPU security vulnerability around speculative execution, I've posted some Intel/AMD benchmarks looking at the mitigation cost for the affected older generations of processors. Last week I also looked at the accumulated CPU mitigation cost on AMD Zen 1. Today is a similar comparison over on the Intel Xeon E3 v5 "Skylake" side with looking at the cost of just the Retbleed mitigations and then the overall CPU mitigation cost when toggling all of the various vulnerabilities with the "mitigations=off" flag.
Last week I posted my initial benchmarks for the Linux impact of mitigating Retbleed as the newest CPU speculative execution vulnerability. As noted in the prior Retbleed articles, on the AMD side it's Zen 1/1+/2 processors affected as well as older Bulldozer CPUs. That earlier article included Zen 2 benchmarks while in this article are Zen 1 tests given its situation is slightly different.
Following the recent discussions about -O3'ing the Linux kernel and other compiler optimizations, a request came in to see some fresh GCC compiler optimization benchmarks with the recently released GCC 12. So here is a fresh look at various GCC optimization levels up through -Ofast as well as with link-time optimizations (LTO) and "-march=native" tuning on the new GCC 12 with the mature AMD Ryzen Threadripper 3990X platform.
After dealing with the Intel Alder Lake P GuC firmware breakage around Linux 5.19 Git that is now to be addressed by the upstream Intel developers, it was on to performance testing the shiny new Core i7 1280P with this kernel due to be released as stable within the next two weeks... For those concerned about maximum performance, there was a glaring performance regression for this Alder Lake P on the new kernel being released as stable later this month. Well, a default change in performance/behavior at least but the power efficiency / performance-per-Watt tended to be better on this new kernel.
Yesterday Retbleed was made public as a new speculative execution attack exploiting return instructions. While the "good" news is Retbleed only impacts prior generations of AMD and Intel processors, the bad news is the mitigated performance impact on Linux is quite severe. Since yesterday I have been benchmarking the newly-merged Linux patches on various Intel and AMD processors affected by Retbleed. It's very bad if you are on an affected processor.
862 software articles published on Phoronix.