Linux 5.6 To Make Use Of Intel Ice Lake's Fast Short REP MOV For Faster memmove()

Written by Michael Larabel in Intel on 8 January 2020 at 06:34 PM EST. 6 Comments
INTEL
While Intel has offered good Ice Lake support since before the CPUs were shipping (sans taking a bit longer for the Thunderbolt support as a key lone exception, since resolved), a feature that's been publicly known since 2017 is the Fast Short REP MOV behavior and finally with Linux 5.6 that is being made use of for faster memory movements.

The Fast Short REP MOV with Icelake allows for faster moves of data from one location to another. With the upcoming Linux 5.6 cycle the Fast Short REP MOV (FSRM) is finally being added to the CPU features (X86_FEATURE_FSRM) for easily detecting its presence on supported CPUs. Intel's Tony Luck who added the patch explained, "Beginning with processors based on Ice Lake Client microarchitecture, REP MOVSB performance of short operations is enhanced. The enhancement applies to string lengths between 1 and 128 bytes long."

While no numbers were provided, at least back in 2017 when Intel began talking up the new/improved Ice Lake instructions, Fast Short REP MOVs were noted as being quite meaningful. But the more interesting work besides just adding the FSRM to the x86 feature code is wiring it up for memmove(). The kernel's memmove() functionality will now use the REP MOVSB instruction for short copies on systems supporting FSRM.

This patch is currently queued in the x86 Assembly area before the Linux 5.6 merge window in the next few weeks.

It will be interesting to see if this ends up providing a meaningful impact in performance on Intel Ice Lake for workloads with a lot of memmove calls for moving around data in memory.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week