LVI Mitigations Intel Xeon E3-1275 v6 testing with a ASUS P10S-M WS (4401 BIOS) and Intel HD P630 on Ubuntu 20.04 via the Phoronix Test Suite for a future article. No LVI Mitigation: Processor: Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads), Motherboard: ASUS P10S-M WS (4401 BIOS), Chipset: Intel Xeon E3-1200 v6/7th, Memory: 16GB, Disk: Samsung SSD 970 EVO Plus 500GB, Graphics: Intel HD P630 (1150MHz), Audio: Realtek ALC1150, Monitor: DELL S2409W, Network: 2 x Intel I210 OS: Ubuntu 20.04, Kernel: 5.4.0-14-generic (x86_64), Desktop: GNOME Shell 3.35.91, Display Server: X Server 1.20.7, Display Driver: modesetting 1.20.7, Compiler: GCC 9.2.1 20200304, File-System: ext4, Screen Resolution: 1920x1080 LFENCE Before Indirect Branch: Processor: Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads), Motherboard: ASUS P10S-M WS (4401 BIOS), Chipset: Intel Xeon E3-1200 v6/7th, Memory: 16GB, Disk: Samsung SSD 970 EVO Plus 500GB, Graphics: Intel HD P630 (1150MHz), Audio: Realtek ALC1150, Monitor: DELL S2409W, Network: 2 x Intel I210 OS: Ubuntu 20.04, Kernel: 5.4.0-14-generic (x86_64), Desktop: GNOME Shell 3.35.91, Display Server: X Server 1.20.7, Display Driver: modesetting 1.20.7, Compiler: GCC 9.2.1 20200304, File-System: ext4, Screen Resolution: 1920x1080 LFENCE Before RET: Processor: Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads), Motherboard: ASUS P10S-M WS (4401 BIOS), Chipset: Intel Xeon E3-1200 v6/7th, Memory: 16GB, Disk: Samsung SSD 970 EVO Plus 500GB, Graphics: Intel HD P630 (1150MHz), Audio: Realtek ALC1150, Monitor: DELL S2409W, Network: 2 x Intel I210 OS: Ubuntu 20.04, Kernel: 5.4.0-14-generic (x86_64), Desktop: GNOME Shell 3.35.91, Display Server: X Server 1.20.7, Display Driver: modesetting 1.20.7, Compiler: GCC 9.2.1 20200304, File-System: ext4, Screen Resolution: 1920x1080 LFENCE After Load: Processor: Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads), Motherboard: ASUS P10S-M WS (4401 BIOS), Chipset: Intel Xeon E3-1200 v6/7th, Memory: 16GB, Disk: Samsung SSD 970 EVO Plus 500GB, Graphics: Intel HD P630 (1150MHz), Audio: Realtek ALC1150, Monitor: DELL S2409W, Network: 2 x Intel I210 OS: Ubuntu 20.04, Kernel: 5.4.0-14-generic (x86_64), Desktop: GNOME Shell 3.35.91, Display Server: X Server 1.20.7, Display Driver: modesetting 1.20.7, Compiler: GCC 9.2.1 20200304, File-System: ext4, Screen Resolution: 1920x1080 LFENCE Load + Indirect Branch + Ret: Processor: Intel Xeon E3-1275 v6 @ 4.20GHz (4 Cores / 8 Threads), Motherboard: ASUS P10S-M WS (4401 BIOS), Chipset: Intel Xeon E3-1200 v6/7th, Memory: 16GB, Disk: Samsung SSD 970 EVO Plus 500GB, Graphics: Intel HD P630 (1150MHz), Audio: Realtek ALC1150, Monitor: DELL S2409W, Network: 2 x Intel I210 OS: Ubuntu 20.04, Kernel: 5.4.0-14-generic (x86_64), Desktop: GNOME Shell 3.35.91, Display Server: X Server 1.20.7, Display Driver: modesetting 1.20.7, Compiler: GCC 9.2.1 20200304, File-System: ext4, Screen Resolution: 1920x1080 IPC_benchmark Type: Unnamed Pipe - Message Bytes: 2048 Messages Per Second > Higher Is Better No LVI Mitigation ................... 1520361 |================================ LFENCE Before Indirect Branch ....... 1501588 |================================ LFENCE Before RET ................... 1475647 |=============================== LFENCE After Load ................... 1506789 |================================ LFENCE Load + Indirect Branch + Ret . 1454442 |=============================== IPC_benchmark Type: FIFO Named Pipe - Message Bytes: 2048 Messages Per Second > Higher Is Better No LVI Mitigation ................... 1482097 |================================ LFENCE Before Indirect Branch ....... 1442004 |=============================== LFENCE Before RET ................... 1458219 |=============================== LFENCE After Load ................... 1482206 |================================ LFENCE Load + Indirect Branch + Ret . 1281522 |============================ SMHasher 2020-02-29 Hash: wyhash MiB/sec > Higher Is Better No LVI Mitigation ................... 15371.58 |=============================== LFENCE Before Indirect Branch ....... 15139.16 |=============================== LFENCE Before RET ................... 15368.40 |=============================== LFENCE After Load ................... 1459.64 |=== LFENCE Load + Indirect Branch + Ret . 1460.06 |=== SMHasher 2020-02-29 Hash: wyhash cycles/hash < Lower Is Better No LVI Mitigation ................... 30.87 |===== LFENCE Before Indirect Branch ....... 44.59 |======= LFENCE Before RET ................... 48.45 |======== LFENCE After Load ................... 183.61 |============================== LFENCE Load + Indirect Branch + Ret . 199.77 |================================= SMHasher 2020-02-29 Hash: fasthash32 MiB/sec > Higher Is Better No LVI Mitigation ................... 6302.88 |================================ LFENCE Before Indirect Branch ....... 6305.00 |================================ LFENCE Before RET ................... 6301.25 |================================ LFENCE After Load ................... 1108.63 |====== LFENCE Load + Indirect Branch + Ret . 1108.26 |====== SMHasher 2020-02-29 Hash: fasthash32 cycles/hash < Lower Is Better No LVI Mitigation ................... 39.97 |====== LFENCE Before Indirect Branch ....... 71.42 |=========== LFENCE Before RET ................... 92.46 |=============== LFENCE After Load ................... 158.32 |========================= LFENCE Load + Indirect Branch + Ret . 205.40 |================================= SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 MiB/sec > Higher Is Better No LVI Mitigation ................... 39576.77 |=============================== LFENCE Before Indirect Branch ....... 39743.37 |=============================== LFENCE Before RET ................... 40155.93 |=============================== LFENCE After Load ................... 2536.98 |== LFENCE Load + Indirect Branch + Ret . 2578.17 |== SMHasher 2020-02-29 Hash: t1ha0_aes_avx2 cycles/hash < Lower Is Better No LVI Mitigation ................... 40.41 |========== LFENCE Before Indirect Branch ....... 47.81 |============ LFENCE Before RET ................... 73.13 |=================== LFENCE After Load ................... 100.14 |========================= LFENCE Load + Indirect Branch + Ret . 129.63 |================================= FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 128 Mflops > Higher Is Better No LVI Mitigation ................... 36207.0 |================================ LFENCE Before Indirect Branch ....... 34569.0 |=============================== LFENCE Before RET ................... 33109.0 |============================= LFENCE After Load ................... 3179.7 |=== LFENCE Load + Indirect Branch + Ret . 3147.0 |=== Timed MrBayes Analysis 3.2.7 Primate Phylogeny Analysis Seconds < Lower Is Better No LVI Mitigation ................... 80.09 |=== LFENCE Before Indirect Branch ....... 81.27 |=== LFENCE Before RET ................... 86.73 |=== LFENCE After Load ................... 861.64 |================================= LFENCE Load + Indirect Branch + Ret . 865.30 |================================= Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better No LVI Mitigation ................... 5.172 |====== LFENCE Before Indirect Branch ....... 5.190 |====== LFENCE Before RET ................... 5.778 |====== LFENCE After Load ................... 30.026 |================================= LFENCE Load + Indirect Branch + Ret . 30.058 |================================= LAMMPS Molecular Dynamics Simulator 9Jan2020 Model: Rhodopsin Protein ns/day > Higher Is Better No LVI Mitigation ................... 3.054 |================================== LFENCE Before Indirect Branch ....... 3.091 |================================== LFENCE Before RET ................... 2.999 |================================= LFENCE After Load ................... 0.275 |=== LFENCE Load + Indirect Branch + Ret . 0.275 |=== Botan 2.13.0 Test: KASUMI MiB/s > Higher Is Better No LVI Mitigation ................... 94.53 |================================== LFENCE Before Indirect Branch ....... 94.56 |================================== LFENCE Before RET ................... 94.32 |================================== LFENCE After Load ................... 11.96 |==== LFENCE Load + Indirect Branch + Ret . 11.95 |==== Botan 2.13.0 Test: AES-256 MiB/s > Higher Is Better No LVI Mitigation ................... 4027.59 |================================ LFENCE Before Indirect Branch ....... 4012.19 |================================ LFENCE Before RET ................... 3548.67 |============================ LFENCE After Load ................... 656.43 |===== LFENCE Load + Indirect Branch + Ret . 667.16 |===== Botan 2.13.0 Test: Twofish MiB/s > Higher Is Better No LVI Mitigation ................... 364.62 |================================= LFENCE Before Indirect Branch ....... 365.47 |================================= LFENCE Before RET ................... 361.86 |================================= LFENCE After Load ................... 23.66 |== LFENCE Load + Indirect Branch + Ret . 23.63 |== Botan 2.13.0 Test: Blowfish MiB/s > Higher Is Better No LVI Mitigation ................... 450.39 |================================= LFENCE Before Indirect Branch ....... 455.18 |================================= LFENCE Before RET ................... 449.69 |================================= LFENCE After Load ................... 27.04 |== LFENCE Load + Indirect Branch + Ret . 27.04 |== Botan 2.13.0 Test: CAST-256 MiB/s > Higher Is Better No LVI Mitigation ................... 143.94 |================================= LFENCE Before Indirect Branch ....... 143.74 |================================= LFENCE Before RET ................... 143.34 |================================= LFENCE After Load ................... 13.79 |=== LFENCE Load + Indirect Branch + Ret . 13.84 |=== John The Ripper 1.9.0-jumbo-1 Test: Blowfish Real C/S > Higher Is Better No LVI Mitigation ................... 7703 |=================================== LFENCE Before Indirect Branch ....... 7704 |=================================== LFENCE Before RET ................... 7632 |=================================== LFENCE After Load ................... 646 |=== LFENCE Load + Indirect Branch + Ret . 646 |=== John The Ripper 1.9.0-jumbo-1 Test: MD5 Real C/S > Higher Is Better No LVI Mitigation ................... 438359 |================================ LFENCE Before Indirect Branch ....... 450730 |================================= LFENCE Before RET ................... 442128 |================================ LFENCE After Load ................... 92457 |======= LFENCE Load + Indirect Branch + Ret . 92352 |======= GraphicsMagick 1.3.33 Operation: Rotate Iterations Per Minute > Higher Is Better No LVI Mitigation ................... 735 |==================================== LFENCE Before Indirect Branch ....... 720 |=================================== LFENCE Before RET ................... 688 |================================== LFENCE After Load ................... 162 |======== LFENCE Load + Indirect Branch + Ret . 165 |======== GraphicsMagick 1.3.33 Operation: Resizing Iterations Per Minute > Higher Is Better No LVI Mitigation ................... 437 |==================================== LFENCE Before Indirect Branch ....... 435 |==================================== LFENCE Before RET ................... 435 |==================================== LFENCE After Load ................... 65 |===== LFENCE Load + Indirect Branch + Ret . 65 |===== dav1d 0.6.0 Video Input: Summer Nature 1080p FPS > Higher Is Better No LVI Mitigation ................... 281.07 |================================= LFENCE Before Indirect Branch ....... 279.92 |================================= LFENCE Before RET ................... 273.73 |================================ LFENCE After Load ................... 85.95 |========== LFENCE Load + Indirect Branch + Ret . 85.04 |========== SVT-AV1 0.8 Encoder Mode: Enc Mode 8 - Input: 1080p Frames Per Second > Higher Is Better No LVI Mitigation ................... 13.841 |================================= LFENCE Before Indirect Branch ....... 13.580 |================================ LFENCE Before RET ................... 12.156 |============================= LFENCE After Load ................... 2.169 |===== LFENCE Load + Indirect Branch + Ret . 2.133 |===== SVT-HEVC 1.4.1 1080p 8-bit YUV To HEVC Video Encode Frames Per Second > Higher Is Better No LVI Mitigation ................... 24.41 |================================== LFENCE Before Indirect Branch ....... 23.83 |================================= LFENCE Before RET ................... 21.28 |============================== LFENCE After Load ................... 3.88 |===== LFENCE Load + Indirect Branch + Ret . 3.79 |===== VP9 libvpx Encoding 1.8.2 Speed: Speed 5 Frames Per Second > Higher Is Better No LVI Mitigation ................... 23.86 |================================== LFENCE Before Indirect Branch ....... 23.70 |================================== LFENCE Before RET ................... 20.32 |============================= LFENCE After Load ................... 2.63 |==== LFENCE Load + Indirect Branch + Ret . 2.59 |==== x264 2019-12-17 H.264 Video Encoding Frames Per Second > Higher Is Better No LVI Mitigation ................... 44.54 |================================== LFENCE Before Indirect Branch ....... 43.59 |================================= LFENCE Before RET ................... 41.30 |================================ LFENCE After Load ................... 10.81 |======== LFENCE Load + Indirect Branch + Ret . 10.59 |======== ACES DGEMM 1.0 Sustained Floating-Point Rate GFLOP/s > Higher Is Better No LVI Mitigation ................... 1.121684 |=============================== LFENCE Before Indirect Branch ....... 1.125063 |=============================== LFENCE Before RET ................... 1.134689 |=============================== LFENCE After Load ................... 0.199113 |===== LFENCE Load + Indirect Branch + Ret . 0.196899 |===== Coremark 1.0 CoreMark Size 666 - Iterations Per Second Iterations/Sec > Higher Is Better No LVI Mitigation ................... 155734.93 |============================== LFENCE Before Indirect Branch ....... 155387.19 |============================== LFENCE Before RET ................... 150838.39 |============================= LFENCE After Load ................... 30075.83 |====== LFENCE Load + Indirect Branch + Ret . 29308.80 |====== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better No LVI Mitigation ................... 3504.38 |================================ LFENCE Before Indirect Branch ....... 3495.07 |================================ LFENCE Before RET ................... 3502.54 |================================ LFENCE After Load ................... 182.68 |== LFENCE Load + Indirect Branch + Ret . 182.69 |== C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel Seconds < Lower Is Better No LVI Mitigation ................... 160.75 |==== LFENCE Before Indirect Branch ....... 160.74 |==== LFENCE Before RET ................... 161.23 |==== LFENCE After Load ................... 1234.59 |================================ LFENCE Load + Indirect Branch + Ret . 1235.08 |================================ FLAC Audio Encoding 1.3.2 WAV To FLAC Seconds < Lower Is Better No LVI Mitigation ................... 8.922 |=== LFENCE Before Indirect Branch ....... 8.879 |=== LFENCE Before RET ................... 9.006 |=== LFENCE After Load ................... 97.941 |================================= LFENCE Load + Indirect Branch + Ret . 97.732 |================================= LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better No LVI Mitigation ................... 8.641 |==== LFENCE Before Indirect Branch ....... 8.700 |==== LFENCE Before RET ................... 9.381 |==== LFENCE After Load ................... 76.727 |================================= LFENCE Load + Indirect Branch + Ret . 77.149 |================================= OpenSSL 1.1.1 RSA 4096-bit Performance Signs Per Second > Higher Is Better No LVI Mitigation ................... 1217.6 |================================= LFENCE Before Indirect Branch ....... 1217.5 |================================= LFENCE Before RET ................... 1214.9 |================================= LFENCE After Load ................... 138.1 |==== LFENCE Load + Indirect Branch + Ret . 138.1 |==== LevelDB 1.22 Benchmark: Hot Read Microseconds Per Op < Lower Is Better No LVI Mitigation ................... 3.438 |==================== LFENCE Before Indirect Branch ....... 3.535 |===================== LFENCE Before RET ................... 3.833 |======================= LFENCE After Load ................... 5.557 |================================= LFENCE Load + Indirect Branch + Ret . 5.746 |================================== LevelDB 1.22 Benchmark: Fill Sync Microseconds Per Op < Lower Is Better No LVI Mitigation ................... 6078.95 |=============================== LFENCE Before Indirect Branch ....... 6172.76 |=============================== LFENCE Before RET ................... 6140.01 |=============================== LFENCE After Load ................... 6279.41 |================================ LFENCE Load + Indirect Branch + Ret . 6343.59 |================================ LevelDB 1.22 Benchmark: Random Read Microseconds Per Op < Lower Is Better No LVI Mitigation ................... 3.469 |==================== LFENCE Before Indirect Branch ....... 3.458 |==================== LFENCE Before RET ................... 3.800 |====================== LFENCE After Load ................... 5.561 |================================= LFENCE Load + Indirect Branch + Ret . 5.794 |================================== LevelDB 1.22 Benchmark: Seek Random Microseconds Per Op < Lower Is Better No LVI Mitigation ................... 4.581 |============== LFENCE Before Indirect Branch ....... 4.670 |============== LFENCE Before RET ................... 5.343 |================ LFENCE After Load ................... 10.540 |================================ LFENCE Load + Indirect Branch + Ret . 10.963 |================================= PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better No LVI Mitigation ................... 109133.83 |============================== LFENCE Before Indirect Branch ....... 107867.87 |============================== LFENCE Before RET ................... 101653.33 |============================ LFENCE After Load ................... 49296.66 |============== LFENCE Load + Indirect Branch + Ret . 45420.18 |============ PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better No LVI Mitigation ................... 6337.40 |=============================== LFENCE Before Indirect Branch ....... 6489.72 |=============================== LFENCE Before RET ................... 6622.94 |================================ LFENCE After Load ................... 5470.21 |========================== LFENCE Load + Indirect Branch + Ret . 5255.45 |========================= Redis 5.0.5 Test: GET Requests Per Second > Higher Is Better No LVI Mitigation ................... 2902781.85 |============================ LFENCE Before Indirect Branch ....... 2807336.75 |=========================== LFENCE Before RET ................... 2964800.42 |============================= LFENCE After Load ................... 2290110.92 |====================== LFENCE Load + Indirect Branch + Ret . 2157109.92 |===================== Sysbench 2018-07-28 Test: CPU Events Per Second > Higher Is Better No LVI Mitigation ................... 8864.00 |=============================== LFENCE Before Indirect Branch ....... 8482.74 |============================== LFENCE Before RET ................... 8475.18 |============================== LFENCE After Load ................... 9160.58 |================================ LFENCE Load + Indirect Branch + Ret . 9160.69 |================================ Facebook RocksDB 6.3.6 Test: Read While Writing Op/s > Higher Is Better No LVI Mitigation ................... 925849 |================================= LFENCE Before Indirect Branch ....... 901427 |================================ LFENCE Before RET ................... 899805 |================================ LFENCE After Load ................... 911671 |================================ LFENCE Load + Indirect Branch + Ret . 904375 |================================ Memcached mcperf 1.6.0 Method: Add - Connections: 1 Operations Per Second > Higher Is Better No LVI Mitigation ................... 74622.1 |================================ LFENCE Before Indirect Branch ....... 73822.3 |================================ LFENCE Before RET ................... 72552.0 |=============================== LFENCE After Load ................... 69923.1 |============================== LFENCE Load + Indirect Branch + Ret . 69416.7 |============================== Memcached mcperf 1.6.0 Method: Get - Connections: 1 Operations Per Second > Higher Is Better No LVI Mitigation ................... 126791.2 |=============================== LFENCE Before Indirect Branch ....... 122542.8 |============================== LFENCE Before RET ................... 125504.0 |=============================== LFENCE After Load ................... 112679.3 |============================ LFENCE Load + Indirect Branch + Ret . 108597.8 |=========================== Memcached mcperf 1.6.0 Method: Set - Connections: 1 Operations Per Second > Higher Is Better No LVI Mitigation ................... 74530.7 |================================ LFENCE Before Indirect Branch ....... 73056.1 |=============================== LFENCE Before RET ................... 72700.4 |=============================== LFENCE After Load ................... 69868.9 |============================== LFENCE Load + Indirect Branch + Ret . 68935.8 |============================== Memcached mcperf 1.6.0 Method: Add - Connections: 16 Operations Per Second > Higher Is Better No LVI Mitigation ................... 74588.5 |================================ LFENCE Before RET ................... 72514.5 |=============================== LFENCE After Load ................... 70035.3 |============================== LFENCE Load + Indirect Branch + Ret . 69368.6 |============================== LevelDB 1.22 Benchmark: Fill Sync MB/s > Higher Is Better LFENCE Before Indirect Branch . 0.1 |========================================== LFENCE Before RET ............. 0.1 |==========================================