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&grs&sro&rro .
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 vpxenc: Speed 5 encode-mp3: WAV To MP3 openssl: RSA 4096-bit Performance hmmer: Pfam Database Search svt-av1: Enc Mode 8 - 1080p botan: KASUMI c-ray: Total Time - 4K, 16 Rays Per Pixel graphics-magick: Resizing smhasher: wyhash svt-hevc: 1080p 8-bit YUV To HEVC Video Encode botan: AES-256 smhasher: fasthash32 mcperf: Get - 1 mcperf: Set - 1 coremark: CoreMark Size 666 - Iterations Per Second mcperf: Add - 16 mcperf: Add - 1 smhasher: fasthash32 dav1d: Summer Nature 1080p john-the-ripper: MD5 rocksdb: Read While Writing graphics-magick: Rotate sysbench: CPU x264: H.264 Video Encoding redis: GET pgbench: Buffer Test - Normal Load - Read Only smhasher: t1ha0_aes_avx2 ipc-benchmark: Unnamed Pipe - 2048 ipc-benchmark: FIFO Named Pipe - 2048 leveldb: Seek Rand himeno: Poisson Pressure Solver mt-dgemm: Sustained Floating-Point Rate pgbench: Buffer Test - Normal Load - Read Write botan: Blowfish smhasher: t1ha0_aes_avx2 botan: Twofish john-the-ripper: Blowfish fftw: Float + SSE - 2D FFT Size 128 lammps: Rhodopsin Protein encode-flac: WAV To FLAC mrbayes: Primate Phylogeny Analysis smhasher: wyhash botan: CAST-256 leveldb: Rand Read leveldb: Hot Read leveldb: Fill Sync leveldb: Fill Sync No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 23.86 8.641 1217.6 5.172 13.841 94.534 160.752 437 30.87 24.41 4027.591 6302.88 126791.2 74530.7 155734.927124 74588.5 74622.1 39.973 281.07 438359 925849 735 8863.9974 44.54 2902781.85 109133.834947 40.406 1520361 1482097 4.581 3504.382174 1.121684 6337.397726 450.387 39576.77 364.617 7703 36207 3.054 8.922 80.094 15371.58 143.940 3.469 3.438 6078.953 23.70 8.700 1217.5 5.190 13.580 94.556 160.740 435 44.594 23.83 4012.193 6305.00 122542.8 73056.1 155387.192967 73822.3 71.416 279.92 450730 901427 720 8482.7413 43.59 2807336.75 107867.872327 47.809 1501588 1442004 4.670 3495.065655 1.125063 6489.717451 455.182 39743.37 365.472 7704 34569 3.091 8.879 81.266 15139.16 143.742 3.458 3.535 0.1 6172.760 20.32 9.381 1214.9 5.778 12.156 94.315 161.232 435 48.446 21.28 3548.671 6301.25 125504.0 72700.4 150838.388176 72514.5 72552.0 92.460 273.73 442128 899805 688 8475.1843 41.30 2964800.42 101653.329148 73.134 1475647 1458219 5.343 3502.538965 1.134689 6622.935028 449.685 40155.93 361.857 7632 33109 2.999 9.006 86.729 15368.40 143.336 3.800 3.833 0.1 6140.012 2.63 76.727 138.1 30.026 2.169 11.961 1234.591 65 183.606 3.88 656.426 1108.63 112679.3 69868.9 30075.832607 70035.3 69923.1 158.320 85.95 92457 911671 162 9160.5752 10.81 2290110.92 49296.661928 100.142 1506789 1482206 10.540 182.680759 0.199113 5470.214751 27.041 2536.98 23.661 646 3179.7 0.275 97.941 861.635 1459.64 13.786 5.561 5.557 6279.406 2.59 77.149 138.1 30.058 2.133 11.947 1235.082 65 199.766 3.79 667.163 1108.26 108597.8 68935.8 29308.801462 69368.6 69416.7 205.397 85.04 92352 904375 165 9160.6852 10.59 2157109.92 45420.182422 129.632 1454442 1281522 10.963 182.685208 0.196899 5255.447869 27.036 2578.17 23.626 646 3147.0 0.275 97.732 865.295 1460.06 13.843 5.794 5.746 6343.590 4.62 74.758 198.5 42.487 0.18 27.142 443.613 138 78.515 23106.3 13919.7 43182.063202 14078.3 14265.5 55.19 97582 194734 239 2022.7818 10.10 816590.00 32157.390080 528690 567755 7.630 1158.733795 0.065478 389.682488 184.671 160.342 3072 8166.6 1.021 44.697 401.272 68.285 4.969 5.042 8.0 51.557 OpenBenchmarking.org
VP9 libvpx Encoding Speed: Speed 5 OpenBenchmarking.org Frames Per Second, More Is Better VP9 libvpx Encoding 1.8.2 Speed: Speed 5 LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 6 12 18 24 30 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.06, N = 5 SE +/- 0.02, N = 3 SE +/- 0.03, N = 3 SE +/- 0.04, N = 3 2.59 2.63 4.62 20.32 23.70 23.86 1. (CXX) g++ options: -m64 -lm -lpthread -O3 -fPIC -U_FORTIFY_SOURCE -std=c++11
LAME MP3 Encoding WAV To MP3 OpenBenchmarking.org Seconds, Fewer Is Better LAME MP3 Encoding 3.100 WAV To MP3 LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 20 40 60 80 100 SE +/- 0.016, N = 3 SE +/- 0.005, N = 3 SE +/- 0.069, N = 3 SE +/- 0.001, N = 3 SE +/- 0.003, N = 3 SE +/- 0.004, N = 3 77.149 76.727 74.758 9.381 8.700 8.641 -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
OpenSSL RSA 4096-bit Performance OpenBenchmarking.org Signs Per Second, More Is Better OpenSSL 1.1.1 RSA 4096-bit Performance LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 300 600 900 1200 1500 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.06, N = 3 SE +/- 0.70, N = 3 SE +/- 0.63, N = 3 SE +/- 1.65, N = 3 138.1 138.1 198.5 1214.9 1217.5 1217.6 1. (CC) gcc options: -pthread -m64 -O3 -lssl -lcrypto -ldl
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 10 20 30 40 50 SE +/- 0.228, N = 3 SE +/- 0.047, N = 3 SE +/- 0.079, N = 3 SE +/- 0.053, N = 3 SE +/- 0.020, N = 3 SE +/- 0.005, N = 3 42.487 30.058 30.026 5.778 5.190 5.172 -O2 -O3 -O3 1. (CC) gcc options: -pthread -lhmmer -lsquid -lm
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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 4 8 12 16 20 SE +/- 0.000, N = 3 SE +/- 0.001, N = 3 SE +/- 0.003, N = 3 SE +/- 0.020, N = 3 SE +/- 0.015, N = 3 SE +/- 0.012, N = 3 0.180 2.133 2.169 12.156 13.580 13.841 -O3 -O3 -O3 1. (CXX) g++ options: -fPIE -fPIC -pie
Botan Test: KASUMI OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: KASUMI LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.04, N = 3 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 11.95 11.96 27.14 94.32 94.53 94.56 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
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 Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 300 600 900 1200 1500 SE +/- 0.84, N = 3 SE +/- 0.56, N = 3 SE +/- 0.07, N = 3 SE +/- 0.02, N = 3 SE +/- 0.06, N = 3 SE +/- 0.05, N = 3 1235.08 1234.59 443.61 161.23 160.75 160.74 1. (CC) gcc options: -lm -lpthread -O3
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.33 Operation: Resizing LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation 90 180 270 360 450 SE +/- 1.73, N = 3 65 65 138 435 435 437 -O3 -O3 -O2 -lwebp -lwebpmux -llcms2 -ltiff -lfreetype -ljasper -lXext -llzma -lzstd -O3 -O3 -O3 1. (CC) gcc options: -fopenmp -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread
SMHasher Hash: wyhash OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: wyhash LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 40 80 120 160 200 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.03, N = 3 SE +/- 0.00, N = 3 199.77 183.61 48.45 44.59 30.87 1. (CXX) g++ options: -O3 -march=native -lpthread
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 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 6 12 18 24 30 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.03, N = 3 3.79 3.88 21.28 23.83 24.41 1. (CC) gcc options: -O3 -fPIE -fPIC -O2 -pie -rdynamic -lpthread -lrt
Botan Test: AES-256 OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: AES-256 Core2Quad-Q6600 LFENCE After Load LFENCE Load + Indirect Branch + Ret LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 900 1800 2700 3600 4500 SE +/- 0.12, N = 3 SE +/- 0.42, N = 3 SE +/- 0.03, N = 3 SE +/- 0.17, N = 3 SE +/- 0.68, N = 3 SE +/- 3.22, N = 3 78.52 656.43 667.16 3548.67 4012.19 4027.59 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
SMHasher Hash: fasthash32 OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: fasthash32 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 1400 2800 4200 5600 7000 SE +/- 0.06, N = 3 SE +/- 0.06, N = 3 SE +/- 2.59, N = 3 SE +/- 4.58, N = 3 SE +/- 2.33, N = 3 1108.26 1108.63 6301.25 6302.88 6305.00 1. (CXX) g++ options: -O3 -march=native -lpthread
Memcached mcperf Method: Get - Connections: 1 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Get - Connections: 1 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation 30K 60K 90K 120K 150K SE +/- 42.44, N = 3 SE +/- 214.95, N = 3 SE +/- 613.45, N = 3 SE +/- 188.33, N = 3 SE +/- 529.02, N = 3 SE +/- 1437.67, N = 3 23106.3 108597.8 112679.3 122542.8 125504.0 126791.2 -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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 16K 32K 48K 64K 80K SE +/- 56.59, N = 3 SE +/- 383.89, N = 3 SE +/- 157.67, N = 3 SE +/- 129.57, N = 3 SE +/- 149.20, N = 3 SE +/- 403.77, N = 3 13919.7 68935.8 69868.9 72700.4 73056.1 74530.7 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
Coremark CoreMark Size 666 - Iterations Per Second OpenBenchmarking.org Iterations/Sec, More Is Better Coremark 1.0 CoreMark Size 666 - Iterations Per Second LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 30K 60K 90K 120K 150K SE +/- 3.16, N = 3 SE +/- 15.75, N = 3 SE +/- 78.51, N = 3 SE +/- 696.48, N = 3 SE +/- 406.60, N = 3 SE +/- 594.80, N = 3 29308.80 30075.83 43182.06 150838.39 155387.19 155734.93 -O3 -O3 -O3 1. (CC) gcc options: -O2 -lrt" -lrt
Memcached mcperf Method: Add - Connections: 16 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Add - Connections: 16 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET No LVI Mitigation 16K 32K 48K 64K 80K SE +/- 49.25, N = 3 SE +/- 85.00, N = 3 SE +/- 120.20, N = 3 SE +/- 114.33, N = 3 SE +/- 293.57, N = 3 14078.3 69368.6 70035.3 72514.5 74588.5 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
Memcached mcperf Method: Add - Connections: 1 OpenBenchmarking.org Operations Per Second, More Is Better Memcached mcperf 1.6.0 Method: Add - Connections: 1 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 16K 32K 48K 64K 80K SE +/- 45.94, N = 3 SE +/- 115.20, N = 3 SE +/- 120.28, N = 3 SE +/- 475.38, N = 3 SE +/- 230.88, N = 3 SE +/- 110.28, N = 3 14265.5 69416.7 69923.1 72552.0 73822.3 74622.1 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -lm -rdynamic
SMHasher Hash: fasthash32 OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: fasthash32 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 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 205.40 158.32 92.46 71.42 39.97 1. (CXX) g++ options: -O3 -march=native -lpthread
dav1d Video Input: Summer Nature 1080p OpenBenchmarking.org FPS, More Is Better dav1d 0.6.0 Video Input: Summer Nature 1080p Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 60 120 180 240 300 SE +/- 0.09, N = 3 SE +/- 0.06, N = 3 SE +/- 0.04, N = 3 SE +/- 0.44, N = 3 SE +/- 0.43, N = 3 SE +/- 0.44, N = 3 55.19 85.04 85.95 273.73 279.92 281.07 MIN: 48.65 / MAX: 59.29 -O3 - MIN: 78.13 / MAX: 96.33 -O3 - MIN: 78.9 / MAX: 97.75 -O3 - MIN: 248.49 / MAX: 298.86 -O3 - MIN: 254.67 / MAX: 306.05 -O3 - MIN: 263 / MAX: 305.72 1. (CC) gcc options: -pthread
John The Ripper Test: MD5 OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.9.0-jumbo-1 Test: MD5 LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 No LVI Mitigation LFENCE Before RET LFENCE Before Indirect Branch 100K 200K 300K 400K 500K SE +/- 6.67, N = 3 SE +/- 10.33, N = 3 SE +/- 417.85, N = 3 SE +/- 42.78, N = 3 SE +/- 520.74, N = 3 SE +/- 90.21, N = 3 92352 92457 97582 438359 442128 450730 -lgmp 1. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2
Facebook RocksDB Test: Read While Writing OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Read While Writing Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch LFENCE Load + Indirect Branch + Ret LFENCE After Load No LVI Mitigation 200K 400K 600K 800K 1000K SE +/- 829.70, N = 3 SE +/- 10108.45, N = 3 SE +/- 6920.01, N = 3 SE +/- 1624.30, N = 3 SE +/- 6024.37, N = 3 SE +/- 14182.06, N = 3 194734 899805 901427 904375 911671 925849 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
GraphicsMagick Operation: Rotate OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.33 Operation: Rotate LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 160 320 480 640 800 SE +/- 0.67, N = 3 SE +/- 2.19, N = 3 SE +/- 1.00, N = 3 SE +/- 8.62, N = 3 SE +/- 0.33, N = 3 162 165 239 688 720 735 -O3 -O3 -O2 -lwebp -lwebpmux -llcms2 -ltiff -lfreetype -ljasper -lXext -llzma -lzstd -O3 -O3 -O3 1. (CC) gcc options: -fopenmp -pthread -ljpeg -lSM -lICE -lX11 -lbz2 -lxml2 -lz -lm -lpthread
Sysbench Test: CPU OpenBenchmarking.org Events Per Second, More Is Better Sysbench 2018-07-28 Test: CPU Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation LFENCE After Load LFENCE Load + Indirect Branch + Ret 2K 4K 6K 8K 10K SE +/- 0.96, N = 3 SE +/- 1.05, N = 3 SE +/- 0.77, N = 3 SE +/- 0.57, N = 3 SE +/- 0.95, N = 3 SE +/- 0.43, N = 3 2022.78 8475.18 8482.74 8864.00 9160.58 9160.69 1. (CC) gcc options: -pthread -O3 -funroll-loops -ggdb3 -march=core2 -rdynamic -ldl -laio -lm
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2019-12-17 H.264 Video Encoding Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 10 20 30 40 50 SE +/- 0.10, N = 15 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.11, N = 3 SE +/- 0.28, N = 3 SE +/- 0.49, N = 3 10.10 10.59 10.81 41.30 43.59 44.54 -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
Redis Test: GET OpenBenchmarking.org Requests Per Second, More Is Better Redis 5.0.5 Test: GET Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before Indirect Branch No LVI Mitigation LFENCE Before RET 600K 1200K 1800K 2400K 3000K SE +/- 4095.90, N = 3 SE +/- 20411.81, N = 3 SE +/- 6290.25, N = 3 SE +/- 37253.75, N = 3 SE +/- 33984.11, N = 15 SE +/- 23623.92, N = 3 816590.00 2157109.92 2290110.92 2807336.75 2902781.85 2964800.42 1. (CXX) g++ options: -MM -MT -g3 -fvisibility=hidden -O3
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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 20K 40K 60K 80K 100K SE +/- 263.95, N = 15 SE +/- 47.38, N = 3 SE +/- 54.85, N = 3 SE +/- 196.17, N = 3 SE +/- 95.59, N = 3 SE +/- 413.63, N = 3 32157.39 45420.18 49296.66 101653.33 107867.87 109133.83 -O2 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
SMHasher Hash: t1ha0_aes_avx2 OpenBenchmarking.org cycles/hash, Fewer Is Better SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 30 60 90 120 150 SE +/- 0.01, N = 3 SE +/- 0.45, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 4 SE +/- 0.01, N = 3 129.63 100.14 73.13 47.81 40.41 1. (CXX) g++ options: -O3 -march=native -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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE Before RET LFENCE Before Indirect Branch LFENCE After Load No LVI Mitigation 300K 600K 900K 1200K 1500K SE +/- 11701.09, N = 15 SE +/- 24328.97, N = 15 SE +/- 22792.63, N = 13 SE +/- 14185.23, N = 10 SE +/- 5934.66, N = 3 SE +/- 23319.71, N = 3 528690 1454442 1475647 1501588 1506789 1520361
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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation LFENCE After Load 300K 600K 900K 1200K 1500K SE +/- 9551.92, N = 12 SE +/- 15759.80, N = 3 SE +/- 6206.38, N = 3 SE +/- 22765.74, N = 3 SE +/- 6688.93, N = 3 SE +/- 23424.58, N = 3 567755 1281522 1442004 1458219 1482097 1482206
LevelDB Benchmark: Seek Random OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Seek Random LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 3 6 9 12 15 SE +/- 0.039, N = 3 SE +/- 0.039, N = 3 SE +/- 0.030, N = 3 SE +/- 0.045, N = 3 SE +/- 0.034, N = 3 SE +/- 0.013, N = 3 10.963 10.540 7.630 5.343 4.670 4.581 1. (CXX) g++ options: -O3 -lsnappy -lpthread
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation 800 1600 2400 3200 4000 SE +/- 0.04, N = 3 SE +/- 0.03, N = 3 SE +/- 1.30, N = 3 SE +/- 2.74, N = 3 SE +/- 2.71, N = 3 SE +/- 8.50, N = 3 182.68 182.69 1158.73 3495.07 3502.54 3504.38 -mavx2 -mavx2 -mavx2 1. (CC) gcc options: -O3
ACES DGEMM Sustained Floating-Point Rate OpenBenchmarking.org GFLOP/s, More Is Better ACES DGEMM 1.0 Sustained Floating-Point Rate Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET 0.2553 0.5106 0.7659 1.0212 1.2765 SE +/- 0.000168, N = 3 SE +/- 0.001089, N = 3 SE +/- 0.000251, N = 3 SE +/- 0.009404, N = 3 SE +/- 0.009027, N = 3 SE +/- 0.011024, N = 3 0.065478 0.196899 0.199113 1.121684 1.125063 1.134689 1. (CC) gcc options: -O3 -march=native -fopenmp
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 Core2Quad-Q6600 LFENCE Load + Indirect Branch + Ret LFENCE After Load No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET 1400 2800 4200 5600 7000 SE +/- 0.93, N = 3 SE +/- 71.67, N = 3 SE +/- 19.12, N = 3 SE +/- 63.09, N = 15 SE +/- 42.83, N = 3 SE +/- 98.41, N = 3 389.68 5255.45 5470.21 6337.40 6489.72 6622.94 -O3 -O3 -O3 -O3 -O3 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm
Botan Test: Blowfish OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: Blowfish LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 100 200 300 400 500 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.18, N = 3 SE +/- 0.09, N = 3 SE +/- 4.11, N = 3 SE +/- 0.10, N = 3 27.04 27.04 184.67 449.69 450.39 455.18 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
SMHasher Hash: t1ha0_aes_avx2 OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 LFENCE After Load LFENCE Load + Indirect Branch + Ret No LVI Mitigation LFENCE Before Indirect Branch LFENCE Before RET 9K 18K 27K 36K 45K SE +/- 0.19, N = 3 SE +/- 1.85, N = 3 SE +/- 278.78, N = 3 SE +/- 549.98, N = 4 SE +/- 280.18, N = 3 2536.98 2578.17 39576.77 39743.37 40155.93 1. (CXX) g++ options: -O3 -march=native -lpthread
Botan Test: Twofish OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: Twofish LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 80 160 240 320 400 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 SE +/- 0.06, N = 3 SE +/- 0.26, N = 3 SE +/- 0.27, N = 3 SE +/- 0.01, N = 3 23.63 23.66 160.34 361.86 364.62 365.47 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
John The Ripper Test: Blowfish OpenBenchmarking.org Real C/S, More Is Better John The Ripper 1.9.0-jumbo-1 Test: Blowfish LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 1700 3400 5100 6800 8500 SE +/- 3.18, N = 3 SE +/- 1.45, N = 3 SE +/- 0.88, N = 3 646 646 3072 7632 7703 7704 -lgmp 1. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -pthread -lm -lz -ldl -lcrypt -lbz2
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 LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 8K 16K 24K 32K 40K SE +/- 5.21, N = 3 SE +/- 2.37, N = 3 SE +/- 77.64, N = 3 SE +/- 402.02, N = 6 SE +/- 335.87, N = 3 SE +/- 457.98, N = 3 3147.0 3179.7 8166.6 33109.0 34569.0 36207.0 -fomit-frame-pointer -mtune=native -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math 1. (CC) gcc options: -pthread -O3 -lm
LAMMPS Molecular Dynamics Simulator Model: Rhodopsin Protein OpenBenchmarking.org ns/day, More Is Better LAMMPS Molecular Dynamics Simulator 9Jan2020 Model: Rhodopsin Protein LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 0.6955 1.391 2.0865 2.782 3.4775 SE +/- 0.000, N = 3 SE +/- 0.001, N = 3 SE +/- 0.000, N = 3 SE +/- 0.004, N = 3 SE +/- 0.006, N = 3 SE +/- 0.005, N = 3 0.275 0.275 1.021 2.999 3.054 3.091 -lpng -lz 1. (CXX) g++ options: -O3 -rdynamic -ljpeg -lfftw3 -lm
FLAC Audio Encoding WAV To FLAC OpenBenchmarking.org Seconds, Fewer Is Better FLAC Audio Encoding 1.3.2 WAV To FLAC LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 20 40 60 80 100 SE +/- 0.094, N = 5 SE +/- 0.023, N = 5 SE +/- 0.161, N = 5 SE +/- 0.005, N = 5 SE +/- 0.004, N = 5 SE +/- 0.008, N = 5 97.941 97.732 44.697 9.006 8.922 8.879 -O3 -O3 -O2 -logg 1. (CXX) g++ options: -fvisibility=hidden -lm
Timed MrBayes Analysis Primate Phylogeny Analysis OpenBenchmarking.org Seconds, Fewer Is Better Timed MrBayes Analysis 3.2.7 Primate Phylogeny Analysis LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 200 400 600 800 1000 SE +/- 0.22, N = 3 SE +/- 0.18, N = 3 SE +/- 0.43, N = 3 SE +/- 0.06, N = 3 SE +/- 1.31, N = 3 SE +/- 0.03, N = 3 865.30 861.64 401.27 86.73 81.27 80.09 -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 -lreadline 1. (CC) gcc options: -mmmx -msse -msse2 -mssse3 -O3 -std=c99 -pedantic -lm
SMHasher Hash: wyhash OpenBenchmarking.org MiB/sec, More Is Better SMHasher 2020-02-29 Hash: wyhash LFENCE After Load LFENCE Load + Indirect Branch + Ret LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation 3K 6K 9K 12K 15K SE +/- 0.34, N = 3 SE +/- 0.18, N = 3 SE +/- 172.83, N = 3 SE +/- 61.62, N = 3 SE +/- 91.45, N = 3 1459.64 1460.06 15139.16 15368.40 15371.58 1. (CXX) g++ options: -O3 -march=native -lpthread
Botan Test: CAST-256 OpenBenchmarking.org MiB/s, More Is Better Botan 2.13.0 Test: CAST-256 LFENCE After Load LFENCE Load + Indirect Branch + Ret Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 30 60 90 120 150 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.07, N = 3 SE +/- 0.06, N = 3 SE +/- 0.21, N = 3 SE +/- 0.02, N = 3 13.79 13.84 68.29 143.34 143.74 143.94 1. (CXX) g++ options: -fstack-protector -m64 -pthread -lbotan-2 -ldl -lrt
LevelDB Benchmark: Random Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Read LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET No LVI Mitigation LFENCE Before Indirect Branch 1.3037 2.6074 3.9111 5.2148 6.5185 SE +/- 0.007, N = 3 SE +/- 0.001, N = 3 SE +/- 0.043, N = 3 SE +/- 0.036, N = 3 SE +/- 0.003, N = 3 SE +/- 0.034, N = 3 5.794 5.561 4.969 3.800 3.469 3.458 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Hot Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Hot Read LFENCE Load + Indirect Branch + Ret LFENCE After Load Core2Quad-Q6600 LFENCE Before RET LFENCE Before Indirect Branch No LVI Mitigation 1.2929 2.5858 3.8787 5.1716 6.4645 SE +/- 0.011, N = 3 SE +/- 0.011, N = 3 SE +/- 0.066, N = 3 SE +/- 0.016, N = 3 SE +/- 0.029, N = 3 SE +/- 0.010, N = 3 5.746 5.557 5.042 3.833 3.535 3.438 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Fill Sync OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Fill Sync LFENCE Before Indirect Branch LFENCE Before RET Core2Quad-Q6600 2 4 6 8 10 SE +/- 0.00, N = 3 SE +/- 0.01, N = 15 SE +/- 0.12, N = 4 0.1 0.1 8.0 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 LFENCE Load + Indirect Branch + Ret LFENCE After Load LFENCE Before Indirect Branch LFENCE Before RET No LVI Mitigation Core2Quad-Q6600 1400 2800 4200 5600 7000 SE +/- 9.49, N = 3 SE +/- 121.57, N = 15 SE +/- 26.04, N = 3 SE +/- 102.63, N = 15 SE +/- 114.30, N = 3 SE +/- 1.68, N = 4 6343.59 6279.41 6172.76 6140.01 6078.95 51.56 1. (CXX) g++ options: -O3 -lsnappy -lpthread
Phoronix Test Suite v10.8.5