Linux 5.9 Test With page_lock_unfairness Benchmarks by Michael Larabel testing of 14 September page_lock_unfairness patch. Kconfig and other bits same throughout kernels, PLU patches done with Linus' patches from Monday. v5.8: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.8.0-050800-generic (x86_64), Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 v5.9 Git: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc4-pts (x86_64) 20200910, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 Default PLU 1000: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 0: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 1: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 2: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 3: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 4: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 PLU 5: Processor: AMD Ryzen Threadripper 3960X 24-Core @ 3.80GHz (24 Cores / 48 Threads), Motherboard: MSI Creator TRX40 (MS-7C59) v1.0 (1.12N1 BIOS), Chipset: AMD Starship/Matisse, Memory: 32GB, Disk: 1000GB Sabrent Rocket 4.0 1TB, Graphics: Sapphire AMD Radeon RX 5500/5500M / Pro 5500M 4GB, Audio: AMD Navi 10 HDMI Audio, Monitor: ASUS MG28U, Network: Aquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200 OS: Ubuntu 20.04, Kernel: 5.9.0-rc5-14sep-patch (x86_64) 20200914, Desktop: GNOME Shell 3.36.4, Display Server: X Server 1.20.8, Display Driver: modesetting 1.20.8, OpenGL: 4.6 Mesa 20.0.8 (LLVM 10.0.0), Compiler: GCC 9.3.0, File-System: ext4, Screen Resolution: 3840x2160 Flexible IO Tester 3.18 Type: Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better v5.8 ............. 15800 |==================================================== v5.9 Git ......... 15867 |===================================================== Default PLU 1000 . 11367 |====================================== PLU 0 ............ 15900 |===================================================== PLU 1 ............ 15900 |===================================================== PLU 2 ............ 11300 |===================================== PLU 3 ............ 16000 |===================================================== PLU 4 ............ 16000 |===================================================== PLU 5 ............ 15867 |===================================================== Flexible IO Tester 3.18 Type: Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better v5.8 ............. 300000 |==================================================== v5.9 Git ......... 292000 |=================================================== Default PLU 1000 . 293000 |=================================================== PLU 0 ............ 291333 |================================================== PLU 1 ............ 288000 |================================================== PLU 2 ............ 289667 |================================================== PLU 3 ............ 289667 |================================================== PLU 4 ............ 287000 |================================================== PLU 5 ............ 293000 |=================================================== Flexible IO Tester 3.18 Type: Sequential Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory IOPS > Higher Is Better v5.8 ............. 760 |====================================== v5.9 Git ......... 837 |========================================== Default PLU 1000 . 755 |====================================== PLU 0 ............ 945 |================================================ PLU 1 ............ 1068 |====================================================== PLU 2 ............ 846 |=========================================== PLU 3 ............ 1067 |====================================================== PLU 4 ............ 861 |============================================ PLU 5 ............ 1059 |====================================================== Flexible IO Tester 3.18 Type: Sequential Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory IOPS > Higher Is Better v5.8 ............. 1159 |===================================================== v5.9 Git ......... 1077 |================================================= Default PLU 1000 . 1107 |=================================================== PLU 0 ............ 1183 |====================================================== PLU 1 ............ 966 |============================================ PLU 2 ............ 959 |============================================ PLU 3 ............ 841 |====================================== PLU 4 ............ 1102 |================================================== PLU 5 ............ 955 |============================================ Flexible IO Tester 3.18 Type: Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better v5.8 ............. 61.8 |===================================================== v5.9 Git ......... 62.1 |====================================================== Default PLU 1000 . 44.4 |====================================== PLU 0 ............ 62.1 |====================================================== PLU 1 ............ 62.2 |====================================================== PLU 2 ............ 44.3 |====================================== PLU 3 ............ 62.5 |====================================================== PLU 4 ............ 62.5 |====================================================== PLU 5 ............ 62.0 |====================================================== Flexible IO Tester 3.18 Type: Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better v5.8 ............. 1173 |====================================================== v5.9 Git ......... 1141 |===================================================== Default PLU 1000 . 1144 |===================================================== PLU 0 ............ 1138 |==================================================== PLU 1 ............ 1125 |==================================================== PLU 2 ............ 1131 |==================================================== PLU 3 ............ 1133 |==================================================== PLU 4 ............ 1122 |==================================================== PLU 5 ............ 1144 |===================================================== Flexible IO Tester 3.18 Type: Sequential Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better v5.8 ............. 1528 |======================================= v5.9 Git ......... 1681 |========================================== Default PLU 1000 . 1518 |====================================== PLU 0 ............ 1899 |================================================ PLU 1 ............ 2143 |====================================================== PLU 2 ............ 1700 |=========================================== PLU 3 ............ 2142 |====================================================== PLU 4 ............ 1730 |============================================ PLU 5 ............ 2126 |====================================================== Flexible IO Tester 3.18 Type: Sequential Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory MB/s > Higher Is Better v5.8 ............. 2326 |===================================================== v5.9 Git ......... 2162 |================================================= Default PLU 1000 . 2222 |=================================================== PLU 0 ............ 2372 |====================================================== PLU 1 ............ 1939 |============================================ PLU 2 ............ 1926 |============================================ PLU 3 ............ 1690 |====================================== PLU 4 ............ 2212 |================================================== PLU 5 ............ 1918 |============================================ Redis 5.0.5 Test: LPOP Requests Per Second > Higher Is Better v5.8 ............. 2582974.69 |================================================ v5.9 Git ......... 1523888.21 |============================ Default PLU 1000 . 1540468.42 |============================= PLU 0 ............ 1576775.71 |============================= PLU 1 ............ 1535369.42 |============================= PLU 2 ............ 2088864.07 |======================================= PLU 3 ............ 2130440.16 |======================================== PLU 4 ............ 1512401.66 |============================ PLU 5 ............ 1553886.50 |============================= Redis 5.0.5 Test: SADD Requests Per Second > Higher Is Better v5.8 ............. 2095660.42 |================================================ v5.9 Git ......... 1962098.59 |============================================= Default PLU 1000 . 1974406.96 |============================================= PLU 0 ............ 2013620.17 |============================================== PLU 1 ............ 1965123.21 |============================================= PLU 2 ............ 1912228.67 |============================================ PLU 3 ............ 1938042.50 |============================================ PLU 4 ............ 1967501.79 |============================================= PLU 5 ............ 1968609.69 |============================================= Redis 5.0.5 Test: LPUSH Requests Per Second > Higher Is Better v5.8 ............. 1602867.64 |================================================ v5.9 Git ......... 1489837.96 |============================================= Default PLU 1000 . 1527638.92 |============================================== PLU 0 ............ 1512885.79 |============================================= PLU 1 ............ 1519532.71 |============================================== PLU 2 ............ 1527284.96 |============================================== PLU 3 ............ 1506277.25 |============================================= PLU 4 ............ 1516495.37 |============================================= PLU 5 ............ 1514181.04 |============================================= Redis 5.0.5 Test: GET Requests Per Second > Higher Is Better v5.8 ............. 2656138.92 |================================================ v5.9 Git ......... 2111756.79 |====================================== Default PLU 1000 . 2194355.40 |======================================== PLU 0 ............ 2217841.70 |======================================== PLU 1 ............ 2178989.80 |======================================= PLU 2 ............ 2217654.08 |======================================== PLU 3 ............ 2169197.50 |======================================= PLU 4 ............ 2206395.33 |======================================== PLU 5 ............ 2158856.83 |======================================= Redis 5.0.5 Test: SET Requests Per Second > Higher Is Better v5.8 ............. 1989099.04 |================================================ v5.9 Git ......... 1723206.54 |========================================== Default PLU 1000 . 1820617.25 |============================================ PLU 0 ............ 1772165.71 |=========================================== PLU 1 ............ 1745422.50 |========================================== PLU 2 ............ 1758507.92 |========================================== PLU 3 ............ 1766810.25 |=========================================== PLU 4 ............ 1780663.08 |=========================================== PLU 5 ............ 1775156.63 |=========================================== NGINX Benchmark 1.9.9 Static Web Page Serving Requests Per Second > Higher Is Better v5.8 ............. 42691.90 |================================================== v5.9 Git ......... 39040.06 |============================================== Default PLU 1000 . 40274.52 |=============================================== PLU 0 ............ 39963.52 |=============================================== PLU 1 ............ 40553.38 |=============================================== PLU 2 ............ 40676.68 |================================================ PLU 3 ............ 40575.55 |================================================ PLU 4 ............ 40266.94 |=============================================== PLU 5 ............ 40337.05 |=============================================== Apache Siege 2.4.29 Concurrent Users: 1 Transactions Per Second > Higher Is Better v5.8 ............. 7684.81 |================================================= v5.9 Git ......... 7390.86 |=============================================== Default PLU 1000 . 7579.49 |================================================= PLU 0 ............ 7937.84 |=================================================== PLU 1 ............ 7464.61 |================================================ PLU 2 ............ 7552.61 |================================================= PLU 3 ............ 7475.96 |================================================ PLU 4 ............ 7638.69 |================================================= PLU 5 ............ 7735.75 |================================================== Apache Siege 2.4.29 Concurrent Users: 50 Transactions Per Second > Higher Is Better v5.8 ............. 39280.51 |=============================================== v5.9 Git ......... 28240.71 |================================== Default PLU 1000 . 39708.30 |=============================================== PLU 0 ............ 26645.15 |================================ PLU 1 ............ 38709.95 |============================================== PLU 2 ............ 39712.82 |=============================================== PLU 3 ............ 41959.67 |================================================== PLU 4 ............ 38870.90 |============================================== PLU 5 ............ 41301.97 |================================================= Apache Siege 2.4.29 Concurrent Users: 100 Transactions Per Second > Higher Is Better v5.8 ............. 51255.73 |============================================= v5.9 Git ......... 21926.62 |=================== Default PLU 1000 . 42001.86 |===================================== PLU 0 ............ 21528.43 |=================== PLU 1 ............ 37138.49 |================================= PLU 2 ............ 38086.58 |================================== PLU 3 ............ 38057.72 |================================== PLU 4 ............ 56350.51 |================================================== PLU 5 ............ 37868.57 |================================== Apache Siege 2.4.29 Concurrent Users: 200 Transactions Per Second > Higher Is Better v5.8 ............. 47825.12 |=================================== v5.9 Git ......... 20174.78 |=============== Default PLU 1000 . 48190.05 |=================================== PLU 0 ............ 20095.10 |=============== PLU 1 ............ 48524.44 |==================================== PLU 2 ............ 47823.09 |=================================== PLU 3 ............ 47751.02 |=================================== PLU 4 ............ 68286.02 |================================================== PLU 5 ............ 47662.08 |=================================== Apache Siege 2.4.29 Concurrent Users: 250 Transactions Per Second > Higher Is Better v5.8 ............. 55279.65 |===================================== v5.9 Git ......... 20282.62 |============== Default PLU 1000 . 67639.46 |============================================= PLU 0 ............ 20181.98 |============== PLU 1 ............ 40505.37 |=========================== PLU 2 ............ 56914.07 |====================================== PLU 3 ............ 55285.35 |===================================== PLU 4 ............ 55499.25 |===================================== PLU 5 ............ 74347.77 |================================================== SQLite 3.30.1 Threads / Copies: 8 Seconds < Lower Is Better v5.8 ............. 50.58 |================================ v5.9 Git ......... 46.48 |============================= Default PLU 1000 . 47.60 |============================== PLU 0 ............ 47.53 |============================== PLU 1 ............ 47.58 |============================== PLU 2 ............ 79.37 |================================================== PLU 3 ............ 84.62 |===================================================== PLU 4 ............ 47.67 |============================== PLU 5 ............ 47.73 |============================== Hackbench Count: 1 - Type: Thread Seconds < Lower Is Better v5.8 ............. 2.945 |=========================================== v5.9 Git ......... 3.366 |================================================== Default PLU 1000 . 3.324 |================================================= PLU 0 ............ 3.409 |================================================== PLU 1 ............ 3.591 |===================================================== PLU 2 ............ 3.579 |===================================================== PLU 3 ............ 3.265 |================================================ PLU 4 ............ 3.395 |================================================== PLU 5 ............ 3.509 |==================================================== Hackbench Count: 2 - Type: Thread Seconds < Lower Is Better v5.8 ............. 3.788 |===================================== v5.9 Git ......... 4.761 |=============================================== Default PLU 1000 . 4.739 |=============================================== PLU 0 ............ 4.764 |=============================================== PLU 1 ............ 5.371 |===================================================== PLU 2 ............ 5.367 |===================================================== PLU 3 ............ 4.744 |=============================================== PLU 4 ............ 4.732 |=============================================== PLU 5 ............ 5.383 |===================================================== Hackbench Count: 4 - Type: Thread Seconds < Lower Is Better v5.8 ............. 5.660 |=================================== v5.9 Git ......... 7.106 |============================================ Default PLU 1000 . 7.144 |============================================ PLU 0 ............ 7.167 |============================================ PLU 1 ............ 8.580 |===================================================== PLU 2 ............ 8.603 |===================================================== PLU 3 ............ 7.098 |============================================ PLU 4 ............ 7.103 |============================================ PLU 5 ............ 8.571 |===================================================== Hackbench Count: 1 - Type: Process Seconds < Lower Is Better v5.8 ............. 2.760 |=========================================== v5.9 Git ......... 3.212 |================================================== Default PLU 1000 . 3.104 |================================================ PLU 0 ............ 3.208 |================================================== PLU 1 ............ 3.363 |==================================================== PLU 2 ............ 3.374 |===================================================== PLU 3 ............ 3.155 |================================================= PLU 4 ............ 3.189 |================================================== PLU 5 ............ 3.397 |===================================================== Hackbench Count: 2 - Type: Process Seconds < Lower Is Better v5.8 ............. 3.642 |===================================== v5.9 Git ......... 4.515 |============================================== Default PLU 1000 . 4.533 |============================================== PLU 0 ............ 4.511 |============================================== PLU 1 ............ 5.206 |===================================================== PLU 2 ............ 5.219 |===================================================== PLU 3 ............ 4.537 |============================================== PLU 4 ............ 4.511 |============================================== PLU 5 ............ 5.227 |===================================================== Hackbench Count: 4 - Type: Process Seconds < Lower Is Better v5.8 ............. 5.265 |================================== v5.9 Git ......... 6.729 |=========================================== Default PLU 1000 . 6.652 |=========================================== PLU 0 ............ 6.732 |=========================================== PLU 1 ............ 8.205 |==================================================== PLU 2 ............ 8.192 |==================================================== PLU 3 ............ 6.674 |=========================================== PLU 4 ............ 6.723 |=========================================== PLU 5 ............ 8.292 |=====================================================