LVI Mitigations Intel Core 2 Quad Q6600 testing with a MSI MS-7350 v100 (V1.0A BIOS) and MSI NVIDIA GeForce 8600 GT 256MB on EndeavourOS rolling via the Phoronix Test Suite.
HTML result view exported from: https://openbenchmarking.org/result/2003133-VE-2003126NI94&obr_sor=y&obr_hgv=Core2Quad-Q6600&gru .
LVI Mitigations Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver Compiler File-System Screen Resolution No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads) ASUS P10S-M WS (4401 BIOS) Intel Xeon E3-1200 v6/7th 16GB Samsung SSD 970 EVO Plus 500GB Intel HD P630 (1150MHz) Realtek ALC1150 DELL S2409W 2 x Intel I210 Ubuntu 20.04 5.4.0-14-generic (x86_64) GNOME Shell 3.35.91 X Server 1.20.7 modesetting 1.20.7 GCC 9.2.1 20200304 ext4 1920x1080 Intel Core 2 Quad Q6600 @ 2.40GHz (4 Cores) MSI MS-7350 v100 (V1.0A BIOS) NVIDIA C55 4096MB 320GB Western Digital WD3200AVJS-6 MSI NVIDIA GeForce 8600 GT 256MB Realtek ALC888 EndeavourOS rolling 5.5.8-arch1-1 (x86_64) Xfce GCC 9.2.1 20200130 + Clang 9.0.1 OpenBenchmarking.org Environment Details - No LVI Mitigation: CXXFLAGS=-O3 CFLAGS=-O3 - LFENCE Before Indirect Branch: CXXFLAGS="-O3 -Wa,-mlfence-before-indirect-branch=all" CFLAGS="-O3 -Wa,-mlfence-before-indirect-branch=all" - LFENCE Before RET: CXXFLAGS="-O3 -Wa,-mlfence-before-ret=or" CFLAGS="-O3 -Wa,-mlfence-before-ret=or" - LFENCE After Load: CXXFLAGS="-O3 -Wa,-mlfence-after-load=yes" CFLAGS="-O3 -Wa,-mlfence-after-load=yes" - LFENCE Load + Indirect Branch + Ret: CXXFLAGS="-O3 -Wa,-mlfence-after-load=yes -Wa,-mlfence-before-indirect-branch=all -Wa,-mlfence-before-ret=or" CFLAGS="-O3 -Wa,-mlfence-after-load=yes -Wa,-mlfence-before-indirect-branch=all -Wa,-mlfence-before-ret=or" Compiler Details - No LVI Mitigation: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - LFENCE Before Indirect Branch: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - LFENCE Before RET: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - LFENCE After Load: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - LFENCE Load + Indirect Branch + Ret: --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - Core2Quad-Q6600: --disable-libssp --disable-libstdcxx-pch --disable-libunwind-exceptions --disable-werror --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-install-libiberty --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --mandir=/usr/share/man --with-isl --with-linker-hash-style=gnu Processor Details - No LVI Mitigation: Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca - LFENCE Before Indirect Branch: Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca - LFENCE Before RET: Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca - LFENCE After Load: Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca - LFENCE Load + Indirect Branch + Ret: Scaling Governor: intel_pstate powersave - CPU Microcode: 0xca - Core2Quad-Q6600: Scaling Governor: acpi-cpufreq schedutil - CPU Microcode: 0xb6 Security Details - No LVI Mitigation: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable - LFENCE Before Indirect Branch: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable - LFENCE Before RET: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable - LFENCE After Load: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable - LFENCE Load + Indirect Branch + Ret: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: conditional cache flushes SMT vulnerable + mds: Mitigation of Clear buffers; SMT vulnerable + meltdown: Mitigation of PTI + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling + tsx_async_abort: Mitigation of Clear buffers; SMT vulnerable - Core2Quad-Q6600: itlb_multihit: KVM: Mitigation of Split huge pages + l1tf: Mitigation of PTE Inversion; VMX: EPT disabled + mds: Vulnerable: Clear buffers attempted no microcode; SMT disabled + meltdown: Mitigation of PTI + spec_store_bypass: Vulnerable + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full generic retpoline STIBP: disabled RSB filling + tsx_async_abort: Not affected
LVI Mitigations sysbench: CPU dav1d: Summer Nature 1080p svt-av1: Enc Mode 8 - 1080p svt-hevc: 1080p 8-bit YUV To HEVC Video Encode vpxenc: Speed 5 x264: H.264 Video Encoding mt-dgemm: Sustained Floating-Point Rate graphics-magick: Rotate graphics-magick: Resizing coremark: CoreMark Size 666 - Iterations Per Second leveldb: Fill Sync ipc-benchmark: Unnamed Pipe - 2048 ipc-benchmark: FIFO Named Pipe - 2048 fftw: Float + SSE - 2D FFT Size 128 himeno: Poisson Pressure Solver botan: KASUMI botan: AES-256 botan: Twofish botan: Blowfish botan: CAST-256 smhasher: wyhash smhasher: fasthash32 smhasher: t1ha0_aes_avx2 lammps: Rhodopsin Protein rocksdb: Read While Writing mcperf: Add - 1 mcperf: Get - 1 mcperf: Set - 1 mcperf: Add - 16 john-the-ripper: Blowfish john-the-ripper: MD5 redis: GET openssl: RSA 4096-bit Performance pgbench: Buffer Test - Normal Load - Read Only pgbench: Buffer Test - Normal Load - Read Write smhasher: wyhash smhasher: fasthash32 smhasher: t1ha0_aes_avx2 leveldb: Hot Read leveldb: Fill Sync leveldb: Rand Read leveldb: Seek Rand mrbayes: Primate Phylogeny Analysis hmmer: Pfam Database Search c-ray: Total Time - 4K, 16 Rays Per Pixel encode-flac: WAV To FLAC encode-mp3: WAV To MP3 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 8863.9974 281.07 13.841 24.41 23.86 44.54 1.121684 735 437 155734.927124 1520361 1482097 36207 3504.382174 94.534 4027.591 364.617 450.387 143.940 15371.58 6302.88 39576.77 3.054 925849 74622.1 126791.2 74530.7 74588.5 7703 438359 2902781.85 1217.6 109133.834947 6337.397726 30.87 39.973 40.406 3.438 6078.953 3.469 4.581 80.094 5.172 160.752 8.922 8.641 8482.7413 279.92 13.580 23.83 23.70 43.59 1.125063 720 435 155387.192967 0.1 1501588 1442004 34569 3495.065655 94.556 4012.193 365.472 455.182 143.742 15139.16 6305.00 39743.37 3.091 901427 73822.3 122542.8 73056.1 7704 450730 2807336.75 1217.5 107867.872327 6489.717451 44.594 71.416 47.809 3.535 6172.760 3.458 4.670 81.266 5.190 160.740 8.879 8.700 8475.1843 273.73 12.156 21.28 20.32 41.30 1.134689 688 435 150838.388176 0.1 1475647 1458219 33109 3502.538965 94.315 3548.671 361.857 449.685 143.336 15368.40 6301.25 40155.93 2.999 899805 72552.0 125504.0 72700.4 72514.5 7632 442128 2964800.42 1214.9 101653.329148 6622.935028 48.446 92.460 73.134 3.833 6140.012 3.800 5.343 86.729 5.778 161.232 9.006 9.381 9160.5752 85.95 2.169 3.88 2.63 10.81 0.199113 162 65 30075.832607 1506789 1482206 3179.7 182.680759 11.961 656.426 23.661 27.041 13.786 1459.64 1108.63 2536.98 0.275 911671 69923.1 112679.3 69868.9 70035.3 646 92457 2290110.92 138.1 49296.661928 5470.214751 183.606 158.320 100.142 5.557 6279.406 5.561 10.540 861.635 30.026 1234.591 97.941 76.727 9160.6852 85.04 2.133 3.79 2.59 10.59 0.196899 165 65 29308.801462 1454442 1281522 3147.0 182.685208 11.947 667.163 23.626 27.036 13.843 1460.06 1108.26 2578.17 0.275 904375 69416.7 108597.8 68935.8 69368.6 646 92352 2157109.92 138.1 45420.182422 5255.447869 199.766 205.397 129.632 5.746 6343.590 5.794 10.963 865.295 30.058 1235.082 97.732 77.149 2022.7818 55.19 0.18 4.62 10.10 0.065478 239 138 43182.063202 8.0 528690 567755 8166.6 1158.733795 27.142 78.515 160.342 184.671 68.285 1.021 194734 14265.5 23106.3 13919.7 14078.3 3072 97582 816590.00 198.5 32157.390080 389.682488 5.042 51.557 4.969 7.630 401.272 42.487 443.613 44.697 74.758 OpenBenchmarking.org
Sysbench Test: CPU OpenBenchmarking.org Events Per Second, More Is Better Sysbench 2018-07-28 Test: CPU LFENCE Load + Indirect Branch + Ret LFENCE After Load No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 2K 4K 6K 8K 10K SE +/- 0.43, N = 3 SE +/- 0.95, N = 3 SE +/- 0.57, N = 3 SE +/- 0.77, N = 3 SE +/- 1.05, N = 3 SE +/- 0.96, N = 3 9160.69 9160.58 8864.00 8482.74 8475.18 2022.78 1. (CC) gcc options: -pthread -O3 -funroll-loops -ggdb3 -march=core2 -rdynamic -ldl -laio -lm
dav1d Video Input: Summer Nature 1080p OpenBenchmarking.org FPS, More Is Better dav1d 0.6.0 Video Input: Summer Nature 1080p No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 60 120 180 240 300 SE +/- 0.44, N = 3 SE +/- 0.43, N = 3 SE +/- 0.44, N = 3 SE +/- 0.04, N = 3 SE +/- 0.06, N = 3 SE +/- 0.09, N = 3 281.07 279.92 273.73 85.95 85.04 55.19 -O3 - MIN: 263 / MAX: 305.72 -O3 - MIN: 254.67 / MAX: 306.05 -O3 - MIN: 248.49 / MAX: 298.86 -O3 - MIN: 78.9 / MAX: 97.75 -O3 - MIN: 78.13 / MAX: 96.33 MIN: 48.65 / MAX: 59.29 1. (CC) gcc options: -pthread
SVT-AV1 Encoder Mode: Enc Mode 8 - Input: 1080p OpenBenchmarking.org Frames Per Second, More Is Better SVT-AV1 0.8 Encoder Mode: Enc Mode 8 - Input: 1080p No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 4 8 12 16 20 SE +/- 0.012, N = 3 SE +/- 0.015, N = 3 SE +/- 0.020, N = 3 SE +/- 0.003, N = 3 SE +/- 0.001, N = 3 SE +/- 0.000, N = 3 13.841 13.580 12.156 2.169 2.133 0.180 -O3 -O3 -O3 1. (CXX) g++ options: -fPIE -fPIC -pie
SVT-HEVC 1080p 8-bit YUV To HEVC Video Encode OpenBenchmarking.org Frames Per Second, More Is Better SVT-HEVC 1.4.1 1080p 8-bit YUV To HEVC Video Encode No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret 6 12 18 24 30 SE +/- 0.03, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 24.41 23.83 21.28 3.88 3.79 1. (CC) gcc options: -O3 -fPIE -fPIC -O2 -pie -rdynamic -lpthread -lrt
VP9 libvpx Encoding Speed: Speed 5 OpenBenchmarking.org Frames Per Second, More Is Better VP9 libvpx Encoding 1.8.2 Speed: Speed 5 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 6 12 18 24 30 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 SE +/- 0.02, N = 3 SE +/- 0.06, N = 5 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 23.86 23.70 20.32 4.62 2.63 2.59 1. (CXX) g++ options: -m64 -lm -lpthread -O3 -fPIC -U_FORTIFY_SOURCE -std=c++11
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2019-12-17 H.264 Video Encoding No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 10 20 30 40 50 SE +/- 0.49, N = 3 SE +/- 0.28, N = 3 SE +/- 0.11, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 SE +/- 0.10, N = 15 44.54 43.59 41.30 10.81 10.59 10.10 -llsmash -lavformat -lavcodec -lavutil -lswscale 1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize
ACES DGEMM Sustained Floating-Point Rate OpenBenchmarking.org GFLOP/s, More Is Better ACES DGEMM 1.0 Sustained Floating-Point Rate LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 0.2553 0.5106 0.7659 1.0212 1.2765 SE +/- 0.011024, N = 3 SE +/- 0.009027, N = 3 SE +/- 0.009404, N = 3 SE +/- 0.000251, N = 3 SE +/- 0.001089, N = 3 SE +/- 0.000168, N = 3 1.134689 1.125063 1.121684 0.199113 0.196899 0.065478 1. (CC) gcc options: -O3 -march=native -fopenmp
GraphicsMagick Operation: Rotate OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.33 Operation: Rotate No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 160 320 480 640 800 SE +/- 0.33, N = 3 SE +/- 8.62, N = 3 SE +/- 1.00, N = 3 SE +/- 2.19, N = 3 SE +/- 0.67, N = 3 735 720 688 239 165 162 -O3 -O3 -O3 -O2 -lwebp -lwebpmux -llcms2 -ltiff -lfreetype -ljasper -lXext -llzma -lzstd -O3 -O3 1. (CC) gcc options: -fopenmp -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.33 Operation: Resizing No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 90 180 270 360 450 SE +/- 1.73, N = 3 437 435 435 138 65 65 -O3 -O3 -O3 -O2 -lwebp -lwebpmux -llcms2 -ltiff -lfreetype -ljasper -lXext -llzma -lzstd -O3 -O3 1. (CC) gcc options: -fopenmp -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread
Coremark CoreMark Size 666 - Iterations Per Second OpenBenchmarking.org Iterations/Sec, More Is Better Coremark 1.0 CoreMark Size 666 - Iterations Per Second No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 30K 60K 90K 120K 150K SE +/- 594.80, N = 3 SE +/- 406.60, N = 3 SE +/- 696.48, N = 3 SE +/- 78.51, N = 3 SE +/- 15.75, N = 3 SE +/- 3.16, N = 3 155734.93 155387.19 150838.39 43182.06 30075.83 29308.80 -O3 -O3 -O3 1. (CC) gcc options: -O2 -lrt" -lrt
LevelDB Benchmark: Fill Sync OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Fill Sync Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch 2 4 6 8 10 SE +/- 0.12, N = 4 SE +/- 0.01, N = 15 SE +/- 0.00, N = 3 8.0 0.1 0.1 1. (CXX) g++ options: -O3 -lsnappy -lpthread
IPC_benchmark Type: Unnamed Pipe - Message Bytes: 2048 OpenBenchmarking.org Messages Per Second, More Is Better IPC_benchmark Type: Unnamed Pipe - Message Bytes: 2048 No LVI Mitigation LFENCE After Load LFENCE Before Indirect Branch LFENCE Before RET LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 300K 600K 900K 1200K 1500K SE +/- 23319.71, N = 3 SE +/- 5934.66, N = 3 SE +/- 14185.23, N = 10 SE +/- 22792.63, N = 13 SE +/- 24328.97, N = 15 SE +/- 11701.09, N = 15 1520361 1506789 1501588 1475647 1454442 528690
IPC_benchmark Type: FIFO Named Pipe - Message Bytes: 2048 OpenBenchmarking.org Messages Per Second, More Is Better IPC_benchmark Type: FIFO Named Pipe - Message Bytes: 2048 LFENCE After Load No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 300K 600K 900K 1200K 1500K SE +/- 23424.58, N = 3 SE +/- 6688.93, N = 3 SE +/- 22765.74, N = 3 SE +/- 6206.38, N = 3 SE +/- 15759.80, N = 3 SE +/- 9551.92, N = 12 1482206 1482097 1458219 1442004 1281522 567755
FFTW Build: Float + SSE - Size: 2D FFT Size 128 OpenBenchmarking.org Mflops, More Is Better FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 128 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 8K 16K 24K 32K 40K SE +/- 457.98, N = 3 SE +/- 335.87, N = 3 SE +/- 402.02, N = 6 SE +/- 77.64, N = 3 SE +/- 2.37, N = 3 SE +/- 5.21, N = 3 36207.0 34569.0 33109.0 8166.6 3179.7 3147.0 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math 1. (CC) gcc options: -pthread -O3 -lm
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 800 1600 2400 3200 4000 SE +/- 8.50, N = 3 SE +/- 2.71, N = 3 SE +/- 2.74, N = 3 SE +/- 1.30, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 3504.38 3502.54 3495.07 1158.73 182.69 182.68 -mavx2 -mavx2 -mavx2 1. (CC) gcc options: -O3
Botan Test: KASUMI OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: KASUMI LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 20 40 60 80 100 SE +/- 0.05, N = 3 SE +/- 0.02, N = 3 SE +/- 0.04, N = 3 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 94.56 94.53 94.32 27.14 11.96 11.95 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
Botan Test: AES-256 OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: AES-256 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 900 1800 2700 3600 4500 SE +/- 3.22, N = 3 SE +/- 0.68, N = 3 SE +/- 0.17, N = 3 SE +/- 0.03, N = 3 SE +/- 0.42, N = 3 SE +/- 0.12, N = 3 4027.59 4012.19 3548.67 667.16 656.43 78.52 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
Botan Test: Twofish OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: Twofish LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 80 160 240 320 400 SE +/- 0.01, N = 3 SE +/- 0.27, N = 3 SE +/- 0.26, N = 3 SE +/- 0.06, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 365.47 364.62 361.86 160.34 23.66 23.63 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
Botan Test: Blowfish OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: Blowfish LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 100 200 300 400 500 SE +/- 0.10, N = 3 SE +/- 4.11, N = 3 SE +/- 0.09, N = 3 SE +/- 0.18, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 455.18 450.39 449.69 184.67 27.04 27.04 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
Botan Test: CAST-256 OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: CAST-256 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 30 60 90 120 150 SE +/- 0.02, N = 3 SE +/- 0.21, N = 3 SE +/- 0.06, N = 3 SE +/- 0.07, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 143.94 143.74 143.34 68.29 13.84 13.79 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
SMHasher Hash: wyhash OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: wyhash No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch LFENCE Load + Indirect Branch + Ret LFENCE After Load 3K 6K 9K 12K 15K SE +/- 91.45, N = 3 SE +/- 61.62, N = 3 SE +/- 172.83, N = 3 SE +/- 0.18, N = 3 SE +/- 0.34, N = 3 15371.58 15368.40 15139.16 1460.06 1459.64 1. (CXX) g++ options: -O3 -march=native -lpthread
SMHasher Hash: fasthash32 OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: fasthash32 LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret 1400 2800 4200 5600 7000 SE +/- 2.33, N = 3 SE +/- 4.58, N = 3 SE +/- 2.59, N = 3 SE +/- 0.06, N = 3 SE +/- 0.06, N = 3 6305.00 6302.88 6301.25 1108.63 1108.26 1. (CXX) g++ options: -O3 -march=native -lpthread
SMHasher Hash: t1ha0_aes_avx2 OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation LFENCE Load + Indirect Branch + Ret LFENCE After Load 9K 18K 27K 36K 45K SE +/- 280.18, N = 3 SE +/- 549.98, N = 4 SE +/- 278.78, N = 3 SE +/- 1.85, N = 3 SE +/- 0.19, N = 3 40155.93 39743.37 39576.77 2578.17 2536.98 1. (CXX) g++ options: -O3 -march=native -lpthread
LAMMPS Molecular Dynamics Simulator Model: Rhodopsin Protein OpenBenchmarking.org ns/day, More Is Better LAMMPS Molecular Dynamics Simulator 9Jan2020 Model: Rhodopsin Protein LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 0.6955 1.391 2.0865 2.782 3.4775 SE +/- 0.005, N = 3 SE +/- 0.006, N = 3 SE +/- 0.004, N = 3 SE +/- 0.000, N = 3 SE +/- 0.001, N = 3 SE +/- 0.000, N = 3 3.091 3.054 2.999 1.021 0.275 0.275 -lpng -lz 1. (CXX) g++ options: -O3 -rdynamic -ljpeg -lfftw3 -lm
Facebook RocksDB Test: Read While Writing OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Read While Writing No LVI Mitigation LFENCE After Load LFENCE Load + Indirect Branch + Ret LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 200K 400K 600K 800K 1000K SE +/- 14182.06, N = 3 SE +/- 6024.37, N = 3 SE +/- 1624.30, N = 3 SE +/- 6920.01, N = 3 SE +/- 10108.45, N = 3 SE +/- 829.70, N = 3 925849 911671 904375 901427 899805 194734 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Memcached mcperf Method: Add - Connections: 1 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Add - Connections: 1 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 16K 32K 48K 64K 80K SE +/- 110.28, N = 3 SE +/- 230.88, N = 3 SE +/- 475.38, N = 3 SE +/- 120.28, N = 3 SE +/- 115.20, N = 3 SE +/- 45.94, N = 3 74622.1 73822.3 72552.0 69923.1 69416.7 14265.5 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
Memcached mcperf Method: Get - Connections: 1 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Get - Connections: 1 No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 30K 60K 90K 120K 150K SE +/- 1437.67, N = 3 SE +/- 529.02, N = 3 SE +/- 188.33, N = 3 SE +/- 613.45, N = 3 SE +/- 214.95, N = 3 SE +/- 42.44, N = 3 126791.2 125504.0 122542.8 112679.3 108597.8 23106.3 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
Memcached mcperf Method: Set - Connections: 1 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Set - Connections: 1 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 16K 32K 48K 64K 80K SE +/- 403.77, N = 3 SE +/- 149.20, N = 3 SE +/- 129.57, N = 3 SE +/- 157.67, N = 3 SE +/- 383.89, N = 3 SE +/- 56.59, N = 3 74530.7 73056.1 72700.4 69868.9 68935.8 13919.7 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
Memcached mcperf Method: Add - Connections: 16 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Add - Connections: 16 No LVI Mitigation LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 16K 32K 48K 64K 80K SE +/- 293.57, N = 3 SE +/- 114.33, N = 3 SE +/- 120.20, N = 3 SE +/- 85.00, N = 3 SE +/- 49.25, N = 3 74588.5 72514.5 70035.3 69368.6 14078.3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
John The Ripper Test: Blowfish OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.9.0-jumbo-1 Test: Blowfish LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 1700 3400 5100 6800 8500 SE +/- 0.88, N = 3 SE +/- 1.45, N = 3 SE +/- 3.18, N = 3 7704 7703 7632 3072 646 646 -lgmp 1. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2
John The Ripper Test: MD5 OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.9.0-jumbo-1 Test: MD5 LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 100K 200K 300K 400K 500K SE +/- 90.21, N = 3 SE +/- 520.74, N = 3 SE +/- 42.78, N = 3 SE +/- 417.85, N = 3 SE +/- 10.33, N = 3 SE +/- 6.67, N = 3 450730 442128 438359 97582 92457 92352 -lgmp 1. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2
Redis Test: GET OpenBenchmarking.org Requests Per Second, More Is Better Redis 5.0.5 Test: GET LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 600K 1200K 1800K 2400K 3000K SE +/- 23623.92, N = 3 SE +/- 33984.11, N = 15 SE +/- 37253.75, N = 3 SE +/- 6290.25, N = 3 SE +/- 20411.81, N = 3 SE +/- 4095.90, N = 3 2964800.42 2902781.85 2807336.75 2290110.92 2157109.92 816590.00 1. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3
OpenSSL RSA 4096-bit Performance OpenBenchmarking.org Signs Per Second, More Is Better OpenSSL 1.1.1 RSA 4096-bit Performance No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 300 600 900 1200 1500 SE +/- 1.65, N = 3 SE +/- 0.63, N = 3 SE +/- 0.70, N = 3 SE +/- 0.06, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 1217.6 1217.5 1214.9 198.5 138.1 138.1 1. (CC) gcc options: -pthread -m64 -O3 -lssl -lcrypto -ldl
PostgreSQL pgbench Scaling: Buffer Test - Test: Normal Load - Mode: Read Only OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 20K 40K 60K 80K 100K SE +/- 413.63, N = 3 SE +/- 95.59, N = 3 SE +/- 196.17, N = 3 SE +/- 54.85, N = 3 SE +/- 47.38, N = 3 SE +/- 263.95, N = 15 109133.83 107867.87 101653.33 49296.66 45420.18 32157.39 -O3 -O3 -O3 -O3 -O3 -O2 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
PostgreSQL pgbench Scaling: Buffer Test - Test: Normal Load - Mode: Read Write OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 1400 2800 4200 5600 7000 SE +/- 98.41, N = 3 SE +/- 42.83, N = 3 SE +/- 63.09, N = 15 SE +/- 19.12, N = 3 SE +/- 71.67, N = 3 SE +/- 0.93, N = 3 6622.94 6489.72 6337.40 5470.21 5255.45 389.68 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
SMHasher Hash: wyhash OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: wyhash No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret 40 80 120 160 200 SE +/- 0.00, N = 3 SE +/- 0.03, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 30.87 44.59 48.45 183.61 199.77 1. (CXX) g++ options: -O3 -march=native -lpthread
SMHasher Hash: fasthash32 OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: fasthash32 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret 50 100 150 200 250 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 39.97 71.42 92.46 158.32 205.40 1. (CXX) g++ options: -O3 -march=native -lpthread
SMHasher Hash: t1ha0_aes_avx2 OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret 30 60 90 120 150 SE +/- 0.01, N = 3 SE +/- 0.01, N = 4 SE +/- 0.01, N = 3 SE +/- 0.45, N = 3 SE +/- 0.01, N = 3 40.41 47.81 73.13 100.14 129.63 1. (CXX) g++ options: -O3 -march=native -lpthread
LevelDB Benchmark: Hot Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Hot Read No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 1.2929 2.5858 3.8787 5.1716 6.4645 SE +/- 0.010, N = 3 SE +/- 0.029, N = 3 SE +/- 0.016, N = 3 SE +/- 0.066, N = 3 SE +/- 0.011, N = 3 SE +/- 0.011, N = 3 3.438 3.535 3.833 5.042 5.557 5.746 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Fill Sync OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Fill Sync Core2Quad-Q6600 No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch LFENCE After Load LFENCE Load + Indirect Branch + Ret 1400 2800 4200 5600 7000 SE +/- 1.68, N = 4 SE +/- 114.30, N = 3 SE +/- 102.63, N = 15 SE +/- 26.04, N = 3 SE +/- 121.57, N = 15 SE +/- 9.49, N = 3 51.56 6078.95 6140.01 6172.76 6279.41 6343.59 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Read LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 1.3037 2.6074 3.9111 5.2148 6.5185 SE +/- 0.034, N = 3 SE +/- 0.003, N = 3 SE +/- 0.036, N = 3 SE +/- 0.043, N = 3 SE +/- 0.001, N = 3 SE +/- 0.007, N = 3 3.458 3.469 3.800 4.969 5.561 5.794 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Seek Random OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Seek Random No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 3 6 9 12 15 SE +/- 0.013, N = 3 SE +/- 0.034, N = 3 SE +/- 0.045, N = 3 SE +/- 0.030, N = 3 SE +/- 0.039, N = 3 SE +/- 0.039, N = 3 4.581 4.670 5.343 7.630 10.540 10.963 1. (CXX) g++ options: -O3 -lsnappy -lpthread
Timed MrBayes Analysis Primate Phylogeny Analysis OpenBenchmarking.org Seconds, Fewer Is Better Timed MrBayes Analysis 3.2.7 Primate Phylogeny Analysis No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 200 400 600 800 1000 SE +/- 0.03, N = 3 SE +/- 1.31, N = 3 SE +/- 0.06, N = 3 SE +/- 0.43, N = 3 SE +/- 0.18, N = 3 SE +/- 0.22, N = 3 80.09 81.27 86.73 401.27 861.64 865.30 -lreadline -msse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -madx -mmpx -mabm -msse3 -msse4.1 -msse4.2 -maes -mavx -mfma -mavx2 -mrdrnd -mbmi -mbmi2 -madx -mmpx -mabm 1. (CC) gcc options: -mmmx -msse -msse2 -mssse3 -O3 -std=c99 -pedantic -lm
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 10 20 30 40 50 SE +/- 0.005, N = 3 SE +/- 0.020, N = 3 SE +/- 0.053, N = 3 SE +/- 0.079, N = 3 SE +/- 0.047, N = 3 SE +/- 0.228, N = 3 5.172 5.190 5.778 30.026 30.058 42.487 -O3 -O3 -O2 1. (CC) gcc options: -pthread -lhmmer -lsquid -lm
C-Ray Total Time - 4K, 16 Rays Per Pixel OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 300 600 900 1200 1500 SE +/- 0.05, N = 3 SE +/- 0.06, N = 3 SE +/- 0.02, N = 3 SE +/- 0.07, N = 3 SE +/- 0.56, N = 3 SE +/- 0.84, N = 3 160.74 160.75 161.23 443.61 1234.59 1235.08 1. (CC) gcc options: -lm -lpthread -O3
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.2 WAV To FLAC LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load 20 40 60 80 100 SE +/- 0.008, N = 5 SE +/- 0.004, N = 5 SE +/- 0.005, N = 5 SE +/- 0.161, N = 5 SE +/- 0.023, N = 5 SE +/- 0.094, N = 5 8.879 8.922 9.006 44.697 97.732 97.941 -O2 -logg -O3 -O3 1. (CXX) g++ options: -fvisibility=hidden -lm
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.100 WAV To MP3 No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret 20 40 60 80 100 SE +/- 0.004, N = 3 SE +/- 0.003, N = 3 SE +/- 0.001, N = 3 SE +/- 0.069, N = 3 SE +/- 0.005, N = 3 SE +/- 0.016, N = 3 8.641 8.700 9.381 74.758 76.727 77.149 -O3 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -pipe -O3 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -pipe 1. (CC) gcc options: -lncurses -lm
Phoronix Test Suite v10.8.5