QEMU 7.2-rc1 Released - TCG For AVX/AVX2, Massive 9pfs Performance Improvement
QEMU 7.2 is gearing up for release in December as the next feature release to this widely-used processor emulator by the Linux virtualization stack. QEMU 7.2-rc1 is available for testing with a number of new features and improvements coming in this release.
QEMU 7.2 should be out by mid-December depending upon how many weekly release candidates end up being warranted. Among the changes coming with QEMU 7.2 include:
- QEMU for x86/x86_64 now supports the CORE_THREAD_COUNT MSR. There is also support for passing a random seed to the Linux kernel when booted using the "-kernel" argument.
- The Tiny Code Generator (TCG) has performance improvements in full system emulation mode, fixes for its SSE implementation, and TCG now supports AVX / AVX2 / F16C / FMA3 / VAES instructions.
- QEMU with 9pfs has a "massive general performance improvement" as much as 6~12x better performance. This massive speed-up in the QEMU 9pfs code comes from making use of a GHashTable for the FID table. With the change by Linus Heckemann, "This change uses a hashtable for this instead, significantly improving
the performance of the 9p filesystem. The runtime of NixOS's simple installer test, which copies ~122k files totalling ~1.8GiB from 9p, decreased by a factor of about 10."
- QEMU's RISC-V code now supports Zihintpause, disas support for vector instructions, promoting zmmul out of being experimental, improvements to the debugger spec, and other RISC-V improvements.
- QEMU for s390x now supports SHA-512 via KIMD/KLMD instructions, fixed emulation of LZRF and VISTR instructions, and implementing other features.
- Stability improvements to the QEMU OpenRISC code as well as performance improvements.
- QEMU on Arm now supports emulating Enhanced Translation Synchronization, PMU Extensions v3.5, guest translation granule size, HAFDBS, and E0PD. The Arm Cortex-A35 CPU type can also now be emulated.
- Big endian 32-bit MIPS hosts have been deprecated.
More details on all of the changes slated for QEMU 7.2 via the work-in-progress release notes on the QEMU Wiki.
QEMU 7.2 should be out by mid-December depending upon how many weekly release candidates end up being warranted. Among the changes coming with QEMU 7.2 include:
- QEMU for x86/x86_64 now supports the CORE_THREAD_COUNT MSR. There is also support for passing a random seed to the Linux kernel when booted using the "-kernel" argument.
- The Tiny Code Generator (TCG) has performance improvements in full system emulation mode, fixes for its SSE implementation, and TCG now supports AVX / AVX2 / F16C / FMA3 / VAES instructions.
- QEMU with 9pfs has a "massive general performance improvement" as much as 6~12x better performance. This massive speed-up in the QEMU 9pfs code comes from making use of a GHashTable for the FID table. With the change by Linus Heckemann, "This change uses a hashtable for this instead, significantly improving
the performance of the 9p filesystem. The runtime of NixOS's simple installer test, which copies ~122k files totalling ~1.8GiB from 9p, decreased by a factor of about 10."
- QEMU's RISC-V code now supports Zihintpause, disas support for vector instructions, promoting zmmul out of being experimental, improvements to the debugger spec, and other RISC-V improvements.
- QEMU for s390x now supports SHA-512 via KIMD/KLMD instructions, fixed emulation of LZRF and VISTR instructions, and implementing other features.
- Stability improvements to the QEMU OpenRISC code as well as performance improvements.
- QEMU on Arm now supports emulating Enhanced Translation Synchronization, PMU Extensions v3.5, guest translation granule size, HAFDBS, and E0PD. The Arm Cortex-A35 CPU type can also now be emulated.
- Big endian 32-bit MIPS hosts have been deprecated.
More details on all of the changes slated for QEMU 7.2 via the work-in-progress release notes on the QEMU Wiki.
11 Comments