will-it-scale https://github.com/antonblanchard/will-it-scale patched with additional test cases and removed Linux-specific ones FreeBSD r363251 + fast path lookup root on ufs, /tmp on tmpfs DragonFlyBSD cfe603905713d4e92a7956678970d5dff8e913f2 root on hammer2, /tmp on tmpfs NetBSD as of Jul 18, top kernel commit: jmcneill at Fri Jul 17 21:59:30 2020 +0000 Remove 2 CPU limit in OCTEON interrupt controller driver. root on ufs, /tmp on tmpfs Hardware: 24 threads vms (2 threads per core) on Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz 24GB RAM Running on top of Ubuntu 20.04. All systems had to get modified to stop issuing rdtscp on timestamp updates. Per-os notes: FreeBSD: patched with fast path lookup; sysctl vfs.timestamp_precision=1 DragonflyBSD: CPU is immune to meltdown but the system fails to recognize it protection disabled by hand; patched to compile without retpoline; disabled invariants sysctl vfs.timestamp_precision=1 NetBSD: does not support vfs.timestamp_precision=1, thus vfs_timestamp got patched to use getnanotime; disabled DIAGNOSTIC and retpoline The last 3 columns represent relative performance (%). +231 is 231% more (or the total is 331% of the original) FvD - FreeBSD versus DragonFlyBSD FvN - FreeBSD versus NetBSD DvN - DragonFlyBSD versus NetBSD t - processes or threads c - number of workers spawned test t c FreeBSD DragonFlyBSD NetBSD FvD FvN DvN access1 p 01 3531657 1182389 1645703 +198 +114 -29 access1 t 01 3559277 1218596 1677470 +192 +112 -28 access1 p 24 49856247 9748619 3156731 +411 +1479 +208 access1 t 24 48458247 9726003 2825702 +398 +1614 +244 context_switch1 p 01 451153 1686291 166750 -74 +170 +911 context_switch1 t 01 460271 1620280 148198 -72 +210 +993 context_switch1 p 24 9388555 7234392 1150904 +29 +715 +528 context_switch1 t 24 9377522 7335393 1160670 +27 +707 +531 dup1 p 01 5628256 4801701 4865260 +17 +15 -2 dup1 t 01 5294292 4412247 4317581 +19 +22 +2 dup1 p 24 86047560 74557211 85831748 +15 +0 -14 dup1 t 24 2374467 493931 1377578 +380 +72 -65 fstat1 p 01 6776923 6167336 4296093 +9 +57 +43 fstat1 t 01 6822132 6202663 4108816 +9 +66 +50 fstat1 p 24 92209325 110845445 72971581 -17 +26 +51 fstat1 t 24 96995751 110807251 69676926 -13 +39 +59 getppid1 p 01 17794001 14638248 15624112 +21 +13 -7 getppid1 t 01 17717990 14705005 15660465 +20 +13 -7 getppid1 p 24 273833506 233795253 288569497 +17 -6 -19 getppid1 t 24 278644601 232300358 281455002 +19 -1 -18 lock1 p 01 4194708 5346356 4592282 -22 -9 +16 lock1 t 01 4293975 4852050 4314068 -12 -1 +12 lock1 p 24 50741150 62526633 3075353 -19 +1549 +1933 lock1 t 24 54437392 63289309 3017026 -14 +1704 +1997 lseek1 p 01 10740478 9251037 6654024 +16 +61 +39 lseek1 t 01 10702480 9193003 6804887 +16 +57 +35 lseek1 p 24 149718140 161928602 109306284 -8 +36 +48 lseek1 t 24 187618319 162388465 101636011 +15 +84 +59 lseek2 p 01 10394965 9225068 6845159 +12 +51 +34 lseek2 t 01 10406084 9162207 6390806 +13 +62 +43 lseek2 p 24 166385047 161139604 10460486 +3 +1490 +1440 lseek2 t 24 184755368 162430863 8524044 +13 +2067 +1805 mmap1 p 01 3354557 2403655 2567575 +39 +30 -7 mmap1 t 01 1560407 2281812 2502097 -32 -38 -9 mmap1 p 24 8699340 35436056 37263118 -76 -77 -5 mmap1 t 24 990640 978478 532381 +1 +86 +83 mmap2 p 01 1469031 352787 1158580 +316 +26 -70 mmap2 t 01 1462375 345625 1101579 +323 +32 -69 mmap2 p 24 2911820 5581495 14609898 -48 -81 -62 mmap2 t 24 872839 333295 491532 +161 +77 -33 open1 p 01 1896831 840185 1234276 +125 +53 -32 open1 t 01 1829230 808676 1188972 +126 +53 -32 open1 p 24 11066272 6107699 3218512 +81 +243 +89 open1 t 24 1705162 354278 1069401 +381 +59 -67 open2 p 01 1759783 701709 1131105 +150 +55 -38 open2 t 01 1676961 684240 1092520 +145 +53 -38 open2 p 24 10375960 5613703 3386692 +84 +206 +65 open2 t 24 1581018 350478 1161322 +351 +36 -70 open3 p 01 1909124 830863 1234504 +129 +54 -33 open3 t 01 1837667 815458 1192514 +125 +54 -32 open3 p 24 372351 1619985 1162676 -78 -68 +39 open3 t 24 378385 341440 1188143 +10 -69 -72 page_fault1 p 01 694562 400545 561169 +73 +23 -29 page_fault1 t 01 708651 402460 562383 +76 +26 -29 page_fault1 p 24 7009376 6539226 8183372 +7 -15 -21 page_fault1 t 24 1159210 479833 114347 +141 +913 +319 page_fault2 p 01 576460 313367 492933 +83 +16 -37 page_fault2 t 01 578624 316493 504573 +82 +14 -38 page_fault2 p 24 1660855 4782210 6911752 -66 -76 -31 page_fault2 t 24 1420878 385682 113215 +268 +1155 +240 page_fault3 p 01 11339040 1040354 1884246 +989 +501 -45 page_fault3 t 01 9600818 1104165 1877850 +769 +411 -42 page_fault3 p 24 132232302 17207622 27124620 +668 +387 -37 page_fault3 t 24 7162733 434692 1596241 +1547 +348 -73 pipe1 p 01 3531459 2646270 3147312 +33 +12 -16 pipe1 t 01 3360592 2389077 2814457 +40 +19 -16 pipe1 p 24 44464168 48953465 44621117 -10 -1 +9 pipe1 t 24 46028534 45537037 39752539 +1 +15 +14 poll1 p 01 8397076 3480291 5123667 +141 +63 -33 poll1 t 01 7903895 3260993 4746143 +142 +66 -32 poll1 p 24 134062749 57139741 89600740 +134 +49 -37 poll1 t 24 10438443 54234165 84234697 -81 -88 -36 poll2 p 01 310111 104393 258463 +197 +19 -60 poll2 t 01 306938 103526 193453 +196 +58 -47 poll2 p 24 4626003 1360230 1814736 +240 +154 -26 poll2 t 24 4647695 652217 1523408 +612 +205 -58 posix_semaphore1 p 01 50206317 5219092 5800401 +861 +765 -11 posix_semaphore1 t 01 50494448 5282732 5262190 +855 +859 +0 posix_semaphore1 p 24 658233899 104675398 107830168 +528 +510 -3 posix_semaphore1 t 24 768078510 105795848 98696389 +626 +678 +7 pread1 p 01 4430902 3134196 3219860 +41 +37 -3 pread1 t 01 4440416 3345579 3103620 +32 +43 +7 pread1 p 24 56574371 58345271 1452395 -4 +3795 +3917 pread1 t 24 59601713 57312768 1514133 +3 +3836 +3685 pread2 p 01 4007502 3345582 3049510 +19 +31 +9 pread2 t 01 4091131 3323597 3042482 +23 +34 +9 pread2 p 24 4637685 4996002 1419549 -8 +226 +251 pread2 t 24 5069442 4941946 1348257 +2 +275 +266 pread3 p 01 4008744 3473485 3230811 +15 +24 +7 pread3 t 01 4054477 3566061 2910475 +13 +39 +22 pread3 p 24 6760137 7529177 1380882 -11 +389 +445 pread3 t 24 7323607 8121965 1576660 -10 +364 +415 pthread_mutex1 p 01 220957222 261517497 242779285 -16 -9 +7 pthread_mutex1 t 01 35312400 50846909 72181585 -31 -52 -30 pthread_mutex1 p 24 3785119997 6089042880 5770631132 -38 -35 +5 pthread_mutex1 t 24 10669720 1256733 6889711 +749 +54 -82 pthread_mutex2 p 01 250119524 296482317 327413315 -16 -24 -10 pthread_mutex2 t 01 35248732 50891382 72029419 -31 -52 -30 pthread_mutex2 p 24 3786923198 5363475413 5920313263 -30 -37 -10 pthread_mutex2 t 24 533035590 909083323 885254859 -42 -40 +2 pwrite1 p 01 3991443 2723423 3001747 +46 +32 -10 pwrite1 t 01 3938925 2281409 2851003 +72 +38 -20 pwrite1 p 24 50414422 42582226 1338910 +18 +3665 +3080 pwrite1 t 24 52053242 35988673 1302130 +44 +3897 +2663 pwrite2 p 01 4004976 2751132 2970923 +45 +34 -8 pwrite2 t 01 3011086 2180584 2842497 +38 +5 -24 pwrite2 p 24 472045 460442 1338419 +2 -65 -66 pwrite2 t 24 467334 471748 1205235 -1 -62 -61 pwrite3 p 01 3914954 2763849 2996601 +41 +30 -8 pwrite3 t 01 3094763 2731826 2372039 +13 +30 +15 pwrite3 p 24 753675 524480 1753352 +43 -58 -71 pwrite3 t 24 681683 507689 1601411 +34 -58 -69 read1 p 01 3638425 2603372 2956693 +39 +23 -12 read1 t 01 3594879 2580709 3055528 +39 +17 -16 read1 p 24 32912513 36674246 1407076 -11 +2239 +2506 read1 t 24 35804172 35765877 1553858 +0 +2204 +2201 read2 p 01 3375129 2701368 3321191 +24 +1 -19 read2 t 01 3307936 2593798 3148122 +27 +5 -18 read2 p 24 6512502 6621155 1451036 -2 +348 +356 read2 t 24 6895929 6299355 1349408 +9 +411 +366 readseek1 p 01 2906652 2495066 2178880 +16 +33 +14 readseek1 t 01 2871135 2305566 2177509 +24 +31 +5 readseek1 p 24 39942055 39253586 1304666 +1 +2961 +2908 readseek1 t 24 41405630 39991209 1320562 +3 +3035 +2928 readseek2 p 01 2719724 2194029 2186399 +23 +24 +0 readseek2 t 01 2785658 2285680 2141360 +21 +30 +6 readseek2 p 24 4949481 4744821 1524319 +4 +224 +211 readseek2 t 24 4782388 4835296 1525323 -2 +213 +217 readseek3 p 01 2783532 2423874 2194571 +14 +26 +10 readseek3 t 01 2765947 2382783 2077084 +16 +33 +14 readseek3 p 24 6874719 6682177 1553090 +2 +342 +330 readseek3 t 24 6740957 6522043 1490882 +3 +352 +337 sched_yield p 01 8777043 7259902 599207937 +20 -99 -99 sched_yield t 01 8847834 7203115 337791 +22 +2519 +2032 sched_yield p 24 126424390 135695396 9967352472 -7 -99 -99 sched_yield t 24 127211693 134831248 1524049 -6 +8246 +8746 signal1 p 01 725028 1382091 922400 -48 -22 +49 signal1 t 01 640401 1364394 916684 -54 -31 +48 signal1 p 24 6719125 23273050 2419625 -72 +177 +861 signal1 t 24 638994 2832956 619081 -78 +3 +357 stat1 p 01 2739330 1103069 1563610 +148 +75 -30 stat1 t 01 2736260 1123499 1574707 +143 +73 -29 stat1 p 24 39809411 9355706 3042718 +325 +1208 +207 stat1 t 24 40019314 9507481 2828438 +320 +1314 +236 stat2 p 01 3021744 1162652 1646643 +159 +83 -30 stat2 t 01 3038577 1146249 1665975 +165 +82 -32 stat2 p 24 44015191 9379238 3205267 +369 +1273 +192 stat2 t 24 44379178 9416729 3031397 +371 +1363 +210 unix1 p 01 2253222 1695603 2201576 +32 +2 -23 unix1 t 01 2163314 1564701 2025716 +38 +6 -23 unix1 p 24 34033935 28066900 20637203 +21 +64 +36 unix1 t 24 33721046 26751640 20321833 +26 +65 +31 unlink1 p 01 467596 219403 250821 +113 +86 -13 unlink1 t 01 446762 214884 250159 +107 +78 -15 unlink1 p 24 179332 24996 128477 +617 +39 -81 unlink1 t 24 186078 26364 129778 +605 +43 -80 unlink2 p 01 425359 209327 248036 +103 +71 -16 unlink2 t 01 417419 204993 244046 +103 +71 -17 unlink2 p 24 761506 481452 502040 +58 +51 -5 unlink2 t 24 753489 468157 499183 +60 +50 -7 vfsmix p 01 118175 52867 73477 +123 +60 -29 vfsmix t 01 117991 52269 72292 +125 +63 -28 vfsmix p 24 76070 19054 44865 +299 +69 -58 vfsmix t 24 29802 16938 22092 +75 +34 -24 write1 p 01 2973979 2158239 2768032 +37 +7 -23 write1 t 01 2660256 2089001 2470755 +27 +7 -16 write1 p 24 37999734 33659531 1345854 +12 +2723 +2400 write1 t 24 38995988 32702055 1353825 +19 +2780 +2315 writeseek1 p 01 2766688 1740897 2175934 +58 +27 -20 writeseek1 t 01 2592894 1732512 2089400 +49 +24 -18 writeseek1 p 24 37689624 32002683 1306083 +17 +2785 +2350 writeseek1 t 24 37369357 29014985 1341973 +28 +2684 +2062 writeseek2 p 01 2704442 2092510 2172515 +29 +24 -4 writeseek2 t 01 2134145 1736259 2051071 +22 +4 -16 writeseek2 p 24 385942 482110 23634 -20 +1532 +1939 writeseek2 t 24 371079 451809 24971 -18 +1386 +1709 writeseek3 p 01 2779025 2018082 2186732 +37 +27 -8 writeseek3 t 01 2238584 1982814 1806415 +12 +23 +9 writeseek3 p 24 656150 512360 24150 +28 +2616 +2021 writeseek3 t 24 633140 516554 23226 +22 +2625 +2124