Linux 4.19 I/O Scheduler Performance

Linux I/O scheduler benchmarks for a future article on Phoronix.com.

HTML result view exported from: https://openbenchmarking.org/result/1811264-SK-LINUX419I79&grw.

Linux 4.19 I/O Scheduler PerformanceProcessorMotherboardChipsetMemoryDiskGraphicsMonitorNetworkOSKernelCompilerFile-SystemScreen ResolutionCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline2 x AMD EPYC 7601 32-Core (64 Cores / 128 Threads)Dell 02MJ3T (1.2.5 BIOS)AMD Family 17h16 x 32 GB DDR4-2400MT/s 36ASF4G72PZ-2G6D2120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860Matrox G200eW3VE228Broadcom BCM57416 NetXtreme-E Dual-Media 10G RDMAUbuntu 18.104.19.0-041900-generic (x86_64)GCC 8.2.0 + Clang 7.0.0-3 + LLVM 7.0.0ext41600x120020 x 500GB Samsung SSD 860 + 120GB SSDSCKJB120G7R120GB SSDSCKJB120G7R + 20 x 500GB Samsung SSD 860OpenBenchmarking.orgCompiler Details- --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++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --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 --with-tune=generic --without-cuda-driver -v Disk Details- CFQ: CFQ / relatime,rw- Deadline: DEADLINE / relatime,rw- Noop: NOOP / relatime,rw- MQ None: NONE / relatime,rw- BFQ low_latency: BFQ / relatime,rw- BFQ: BFQ / relatime,rw- Kyber: KYBER / relatime,rw- MQ Deadline: MQ-DEADLINE / relatime,rwPython Details- Python 2.7.15+ + Python 3.6.7Security Details- __user pointer sanitization + Full AMD retpoline IBPB + SSB disabled via prctl and seccomp

Linux 4.19 I/O Scheduler Performancecompilebench: Compilecompilebench: Initial Createcompilebench: Read Compiled Treefio: Rand Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Rand Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizefs-mark: 1000 Files, 1MB Size, No Sync/FSyncbuild-gcc: Time To Compilebuild-linux-kernel: Time To Compileblogbench: Readblogbench: Writesqlite: Timed SQLite Insertionspgbench: Buffer Test - Normal Load - Read Onlypgbench: Buffer Test - Normal Load - Read WriteCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline155437088125328439123738232240531317418186.70189080626.387483962354733.175194383656157638893854231340323738232441031517317384.47189680326.377361432281734.205524705074156839196854227131023825325331830991.3017881.80189780726.487058472148577.105337092554157139697254327028022725225231130964.4314057.20192080026.507950752732068.295334632089159139496054327222321225225331231061.3313166.93191880426.497855412251275.0551979234061575387969542270379236381329386313168.2318183.83189680026.438051482416357.325457194837157739094954327531123625325331230891.6818389.17190980426.427805362749269.114978992303157738995554327224322625225231330759.2312367.38189379626.447834462634277.525063972453OpenBenchmarking.org

Compile Bench

Test: Compile

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: CompileCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline30060090012001500SE +/- 25.94, N = 12SE +/- 18.06, N = 3SE +/- 3.60, N = 3SE +/- 10.25, N = 3SE +/- 23.01, N = 3SE +/- 27.17, N = 3SE +/- 9.90, N = 3SE +/- 8.82, N = 315541576156815711591157515771577

Compile Bench

Test: Initial Create

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline90180270360450SE +/- 14.05, N = 3SE +/- 5.24, N = 3SE +/- 0.40, N = 3SE +/- 2.34, N = 3SE +/- 2.88, N = 3SE +/- 4.71, N = 3SE +/- 3.28, N = 3SE +/- 4.48, N = 3370388391396394387390389

Compile Bench

Test: Read Compiled Tree

OpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Read Compiled TreeCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline2004006008001000SE +/- 88.38, N = 3SE +/- 16.27, N = 3SE +/- 0.51, N = 3SE +/- 0.68, N = 3SE +/- 10.55, N = 3SE +/- 13.50, N = 3SE +/- 33.71, N = 3SE +/- 9.75, N = 3881938968972960969949955

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline120240360480600SE +/- 0.33, N = 3SE +/- 0.33, N = 32535425425435435425435431. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline70140210280350SE +/- 0.33, N = 3SE +/- 0.33, N = 32843132712702722702752721. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline90180270360450SE +/- 4.04, N = 3SE +/- 7.51, N = 3SE +/- 1.53, N = 3SE +/- 7.26, N = 12SE +/- 12.98, N = 12SE +/- 3.71, N = 3SE +/- 12.51, N = 123914033102802233793112431. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline50100150200250SE +/- 1.20, N = 3SE +/- 1.15, N = 3SE +/- 2.41, N = 10SE +/- 0.88, N = 3SE +/- 3.07, N = 62372372382272122362362261. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline801602403204003823822532522523812532521. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline70140210280350SE +/- 0.88, N = 3SE +/- 2.33, N = 33223242532522533292532521. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline90180270360450SE +/- 3.84, N = 3SE +/- 0.67, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.67, N = 3SE +/- 4.74, N = 7SE +/- 0.88, N = 3SE +/- 1.86, N = 34054103183113123863123131. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline70140210280350SE +/- 2.19, N = 3SE +/- 1.86, N = 3SE +/- 0.67, N = 3SE +/- 2.52, N = 3SE +/- 0.67, N = 3SE +/- 1.33, N = 33133153093093103133083071. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline4080120160200SE +/- 0.09, N = 3SE +/- 0.23, N = 3SE +/- 6.28, N = 12SE +/- 2.14, N = 12SE +/- 2.31, N = 12SE +/- 0.44, N = 3SE +/- 2.15, N = 12SE +/- 2.40, N = 12174.00173.0091.3064.4361.33168.2391.6859.231. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline4080120160200SE +/- 5.69, N = 12SE +/- 0.13, N = 3SE +/- 0.61, N = 3SE +/- 8.57, N = 8SE +/- 9.48, N = 6SE +/- 5.19, N = 12SE +/- 0.35, N = 3SE +/- 12.68, N = 61811731781401311811831231. (CC) gcc options: -static

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline20406080100SE +/- 0.06, N = 3SE +/- 0.12, N = 3SE +/- 1.50, N = 3SE +/- 1.01, N = 3SE +/- 1.76, N = 12SE +/- 0.07, N = 3SE +/- 0.07, N = 3SE +/- 1.79, N = 1286.7084.4781.8057.2066.9383.8389.1767.381. (CC) gcc options: -static

FS-Mark

Test: 1000 Files, 1MB Size, No Sync/FSync

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB Size, No Sync/FSyncCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline400800120016002000SE +/- 4.42, N = 3SE +/- 4.07, N = 3SE +/- 5.04, N = 3SE +/- 10.18, N = 3SE +/- 13.64, N = 3SE +/- 9.03, N = 3SE +/- 8.63, N = 3SE +/- 5.34, N = 3189018961897192019181896190918931. (CC) gcc options: -static

Timed GCC Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 8.2Time To CompileCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline2004006008001000806803807800804800804796

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.18Time To CompileCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline612182430SE +/- 0.30, N = 9SE +/- 0.32, N = 12SE +/- 0.30, N = 12SE +/- 0.28, N = 12SE +/- 0.30, N = 12SE +/- 0.27, N = 12SE +/- 0.26, N = 12SE +/- 0.29, N = 1226.3826.3726.4826.5026.4926.4326.4226.44

BlogBench

Test: Read

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: ReadCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline200K400K600K800K1000KSE +/- 12021.04, N = 3SE +/- 12667.35, N = 4SE +/- 14644.01, N = 9SE +/- 5674.85, N = 3SE +/- 7744.57, N = 3SE +/- 6417.79, N = 3SE +/- 3436.67, N = 3SE +/- 15271.38, N = 37483967361437058477950757855418051487805367834461. (CC) gcc options: -O2 -pthread

BlogBench

Test: Write

OpenBenchmarking.orgFinal Score, More Is BetterBlogBench 1.0Test: WriteCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline6K12K18K24K30KSE +/- 1591.21, N = 3SE +/- 1730.49, N = 3SE +/- 1540.70, N = 3SE +/- 386.03, N = 3SE +/- 2941.93, N = 3SE +/- 2384.58, N = 3SE +/- 265.64, N = 3SE +/- 1133.74, N = 323547228172148527320225122416327492263421. (CC) gcc options: -O2 -pthread

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline20406080100SE +/- 0.04, N = 3SE +/- 0.02, N = 3SE +/- 10.02, N = 9SE +/- 9.94, N = 9SE +/- 8.89, N = 9SE +/- 0.64, N = 3SE +/- 9.71, N = 9SE +/- 10.09, N = 933.1734.2077.1068.2975.0557.3269.1177.521. (CC) gcc options: -O2 -lz -ldl -lpthread

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Only

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read OnlyCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline120K240K360K480K600KSE +/- 14237.99, N = 9SE +/- 5594.65, N = 3SE +/- 5081.43, N = 3SE +/- 1266.65, N = 3SE +/- 8044.90, N = 9SE +/- 9965.65, N = 3SE +/- 16915.21, N = 9SE +/- 17086.01, N = 95194385524705337095334635197925457194978995063971. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline11002200330044005500SE +/- 482.90, N = 6SE +/- 43.49, N = 3SE +/- 178.04, N = 9SE +/- 79.41, N = 9SE +/- 274.44, N = 6SE +/- 30.68, N = 3SE +/- 328.42, N = 9SE +/- 116.16, N = 6365650742554208934064837230324531. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Flexible IO Tester

Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline20K40K60K80K100KSE +/- 33.33, N = 3SE +/- 33.33, N = 3SE +/- 384.42, N = 3SE +/- 33.33, N = 3SE +/- 100.00, N = 372667802006950069133695006876770467697001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline13K26K39K52K65KSE +/- 284.80, N = 3SE +/- 328.30, N = 3SE +/- 260.34, N = 3SE +/- 632.60, N = 10SE +/- 272.85, N = 3SE +/- 88.19, N = 3SE +/- 771.00, N = 660767606006063358067542806033360533577331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline20K40K60K80K100KSE +/- 120.19, N = 3SE +/- 233.33, N = 3SE +/- 33.33, N = 3SE +/- 650.64, N = 382567828336480064600646338430064700646001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQDeadlineNoopMQ NoneBFQ low_latencyBFQKyberMQ Deadline20K40K60K80K100KSE +/- 584.05, N = 3SE +/- 437.16, N = 3SE +/- 133.33, N = 3SE +/- 208.17, N = 3SE +/- 635.96, N = 3SE +/- 296.27, N = 3SE +/- 366.67, N = 380167805677910079167793008023378567787671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -ll -lgfapi -lglusterfs -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl


Phoronix Test Suite v10.8.5