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 .
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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: 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 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
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
Phoronix Test Suite v10.8.5