Linux Kernel & OS

Linux 7.5 to remove final MMX optimizations, ending era for Pentium MMX/II

Key Takeaway

The last MMX-specific kernel optimization in Linux software RAID xor code is scheduled for removal in Linux 7.5, forcing 25-year-old 32-bit CPUs without SSE to fall back to scalar C implementations.

Summary

Google engineer Eric Biggers has submitted a patch series to remove the final MMX-optimized code from the Linux kernel, specifically from the software RAID xor subsystem. This change, currently in Andrew Morton's MM branch and targeted for Linux 7.5 in 2027, eliminates assembly optimizations for Intel's 1997 MMX instruction set used by processors like the Pentium MMX and Pentium II. Systems with these CPUs that still run software RAID will automatically fall back to existing scalar C code paths, which the patch description notes are well-tested.

This removal completes a multi-year cleanup that began when MMX-optimized memory management routines for memcpy(), copy_page(), and clear_page() were excised in 2021 via commit c6dbd3e5e69c. The RAID xor code had remained as the sole outlier because, unlike crypto or CRC subsystems which never carried MMX optimizations, it still contained assembly tuned for 32-bit CPUs lacking SSE support. The patch series also includes cleanup of CPU feature checks in the RAID6 code.

What exits the kernel and what remains

  • RAID xor MMX assembly: The MMX-optimized XOR code for software RAID is removed entirely, leaving only scalar C fallbacks for affected 32-bit systems.
  • CPU scope: Affected hardware is explicitly identified as Pentium MMX, Pentium II, and contemporary AMD K6-era processors that lack SSE support and run 32-bit kernels.
  • Historical context: This follows the 2021 removal of MMX optimizations for memcpy(), copy_page(), and clear_page() via the X86_USE_3DNOW cleanup, leaving RAID as the final MMX holdout.
  • RAID6 housekeeping: Patch 3 in the series cleans up CPU feature detection logic in the RAID6 code, suggesting ancillary maintenance beyond simple deletion.
  • Branch status: The code sits in Andrew Morton's MM Git tree, the standard staging path for memory management and related subsystem changes heading toward mainline merge.

Why it matters

For the vanishingly small population still deploying Pentium MMX or Pentium II systems with Linux software RAID in 2027, this change means measurable performance regression in parity calculation workloads, though the scalar fallback is described as well-tested. More broadly, the removal signals the kernel community's continued willingness to shed legacy x86 complexity, reducing maintenance surface and simplifying feature detection paths for modern architectures. Distribution maintainers and embedded developers working with truly ancient x86 hardware should verify RAID performance assumptions before upgrading to Linux 7.5.

Original reference: www.phoronix.com →