At last here are a few results. I am comparing 1) a stock 2.6.11-rc5 kernel with selinux+capabilities, 2) 2.6.11-rc5 with stacker + selinux + cap_stack 3. 2.6.11-rc5 with modified stacker + selinux + cap_stack The modified stacker creates a list_head for each LSM hook and adds a module's hook to the list only if it is defined. This way we don't have to check for (module->operation) for each module on each hook call. This results in performance on macrobenchmarks (kernel compile) which actually seems on par with or slightly better than non-stacker. Lmbench results (attached) for some reason do not back this up. I can't explain those results. Might just try a whole new set of lmbench tests, in case I left some service enabled. The modified stacker.c is attached. Note that you cannot yet (safely) unload modules with this stacker - it was purely a test for performance. All other patches are the same as before, except for a ppc64 fix which is now on sf.net/projects/lsm-stacker. (Tests were still on x86). Kernel compile (nostack): 71.438 71.323 72.112 # elements: 3, mean 71.624333, variance 0.121114, std dev 0.348014 Kernel compile (stack): 71.624 71.816 72.173 # elements: 3, mean 71.871000, variance 0.051746, std dev 0.227477 Kernel compile (modified stacker) (few extra tests to be sure) 1m11.149s 1m11.394s 1m11.215s 1m11.399s 1m11.696s # elements: 5, mean 71.370600, variance 0.036111, std dev 0.190030 On Tue, 2005-02-22 at 11:00 -0500, Stephen Smalley wrote: > On Tue, 2005-02-22 at 09:57 -0600, Serge Hallyn wrote: > > No, unfortunately I don't have that data yet. I need to set up a > > selinux-capable system in our testing pool, then I will generate > > numbers. > > Ok. Targeted policy is fine for such performance benchmarking. > -- Serge Hallyn <serue@private> L M B E N C H 2 . 0 S U M M A R Y ------------------------------------ Basic system parameters ---------------------------------------------------- Host OS Description Mhz --------- ------------- ----------------------- ---- serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 Processor, Processes - times in microseconds - smaller is better ---------------------------------------------------------------- Host OS Mhz null null open selct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc --------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ---- serge.aus Linux 2.6.11- 2368 0.17 0.46 3.68 4.48 6.917 0.66 2.13 135. 524. 2575 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.83 4.46 7.215 0.65 2.14 136. 535. 2580 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.83 4.58 7.148 0.65 2.14 135. 537. 2584 serge.aus Linux 2.6.11- 2368 0.17 0.47 3.85 4.53 7.242 0.66 2.16 137. 538. 2601 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.80 4.58 7.200 0.65 2.18 136. 541. 2574 MEAN 2368 0.17 0.46 3.80 4.53 7.144 0.65 2.15 136 535 2583 STDEV 0 0 .004 0.06 0.05 0.118 .004 0.02 1 6 10 Context switching - times in microseconds - smaller is better ------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ----- ------ ------ ------ ------ ------- ------- serge.aus Linux 2.6.11- 2.230 3.3700 5.9800 4.1100 30.8 7.44000 42.3 serge.aus Linux 2.6.11- 2.260 3.4700 5.9600 3.8300 34.9 9.08000 42.0 serge.aus Linux 2.6.11- 2.310 3.4000 5.9900 5.1100 33.2 9.67000 42.2 serge.aus Linux 2.6.11- 2.540 3.3400 5.9700 4.2700 33.4 8.45000 42.3 serge.aus Linux 2.6.11- 2.340 3.3000 5.9900 4.5600 34.7 9.57000 42.4 MEAN 2.336 3.376 5.978 4.376 33.4 8.842 42.2 STDEV 0.109 0.057 0.012 0.437 1.5 0.824 0.1 *Local* Communication latencies in microseconds - smaller is better ------------------------------------------------------------------- Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn --------- ------------- ----- ----- ---- ----- ----- ----- ----- ---- serge.aus Linux 2.6.11- 2.230 7.461 13.3 28.1 86.5 serge.aus Linux 2.6.11- 2.260 7.301 13.3 28.0 85.9 serge.aus Linux 2.6.11- 2.310 7.440 13.3 28.2 87.8 serge.aus Linux 2.6.11- 2.540 7.261 13.4 28.7 86.8 serge.aus Linux 2.6.11- 2.340 7.427 13.2 27.9 86.3 MEAN 2.336 7.378 13.3 28.2 86.7 STDEV 0.109 0.081 0.1 0.3 0.6 File & VM system latencies in microseconds - smaller is better -------------------------------------------------------------- Host OS 0K File 10K File Mmap Prot Page Create Delete Create Delete Latency Fault Fault --------- ------------- ------ ------ ------ ------ ------- ----- ----- serge.aus Linux 2.6.11- 48.2 9.2370 92.2 20.2 886.0 0.784 2.00000 serge.aus Linux 2.6.11- 48.0 9.2900 92.8 20.1 884.0 0.770 2.00000 serge.aus Linux 2.6.11- 48.0 9.4000 91.5 20.3 917.0 0.799 2.00000 serge.aus Linux 2.6.11- 48.0 9.2300 94.3 20.2 900.0 0.780 2.00000 serge.aus Linux 2.6.11- 48.2 9.2730 91.5 20.1 887.0 0.727 2.00000 MEAN 48.1 9.286 92.5 20.2 894.8 0.772 2 STDEV 0.1 0.061 1.0 0.1 12.4 0.024 *Local* Communication bandwidths in MB/s - bigger is better ----------------------------------------------------------- Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write --------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----- serge.aus Linux 2.6.11- 1901 1333 380. 1310.7 1651.6 373.6 383.4 1652 516.0 serge.aus Linux 2.6.11- 1782 2138 399. 1313.1 1663.1 365.3 374.4 1653 517.3 serge.aus Linux 2.6.11- 1897 2092 405. 1318.0 1671.2 367.4 377.1 1660 518.8 serge.aus Linux 2.6.11- 1867 1617 393. 1309.3 1651.5 369.1 381.0 1657 526.5 serge.aus Linux 2.6.11- 1883 1759 416. 1317.9 1655.6 372.0 385.3 1660 525.8 MEAN 1866 1788 399 1313.8 1658.6 369.5 380.2 1656 520.9 STDEV 44 301 12 3.6 7.6 3.0 4.0 3 4.4 Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) --------------------------------------------------- Host OS Mhz L1 $ L2 $ Main mem Guesses --------- ------------- ---- ----- ------ -------- ------- serge.aus Linux 2.6.11- 2368 0.837 7.7670 115.8 serge.aus Linux 2.6.11- 2368 0.848 7.7630 115.5 serge.aus Linux 2.6.11- 2368 0.836 7.7600 114.2 serge.aus Linux 2.6.11- 2368 0.836 7.7620 114.0 serge.aus Linux 2.6.11- 2368 0.901 7.7640 115.8 MEAN 2368 0.852 7.763 115.1 STDEV 0 0.025 0.002 0.8 L M B E N C H 2 . 0 S U M M A R Y ------------------------------------ Basic system parameters ---------------------------------------------------- Host OS Description Mhz --------- ------------- ----------------------- ---- serge.aus Linux 2.6.11- i686-pc-linux-gnu 2367 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2367 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2367 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2367 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2367 Processor, Processes - times in microseconds - smaller is better ---------------------------------------------------------------- Host OS Mhz null null open selct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc --------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ---- serge.aus Linux 2.6.11- 2367 0.17 0.43 3.60 4.31 6.968 0.66 2.13 134. 532. 2543 serge.aus Linux 2.6.11- 2367 0.17 0.43 3.63 4.37 7.081 0.66 2.10 138. 536. 2558 serge.aus Linux 2.6.11- 2367 0.17 0.43 3.66 4.35 6.886 0.66 2.14 137. 545. 2544 serge.aus Linux 2.6.11- 2367 0.17 0.43 3.64 4.38 6.991 0.66 2.18 134. 533. 2566 serge.aus Linux 2.6.11- 2367 0.17 0.44 3.66 4.46 6.911 0.66 2.13 136. 560. 2552 MEAN 3.64 4.37 6.967 2.14 136 541 2553 STDEV 0.02 0.05 0.068 0.03 2 10 9 CI (95%) Context switching - times in microseconds - smaller is better ------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ----- ------ ------ ------ ------ ------- ------- serge.aus Linux 2.6.11- 2.280 3.2800 5.8500 4.0700 33.7 9.43000 41.7 serge.aus Linux 2.6.11- 2.270 3.3000 5.7600 4.4400 32.7 9.94000 41.5 serge.aus Linux 2.6.11- 2.320 3.2600 5.8200 4.1100 32.6 8.59000 41.8 serge.aus Linux 2.6.11- 2.230 3.2200 5.9500 4.3900 33.9 9.87000 42.0 serge.aus Linux 2.6.11- 2.280 3.2800 5.8500 3.9300 32.6 8.83000 41.6 MEAN 2.276 3.27 5.85 4.19 33.1 9.33 41.7 STDEV 0.029 0.03 0.06 0.20 0.6 0.54 0.2 *Local* Communication latencies in microseconds - smaller is better ------------------------------------------------------------------- Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn --------- ------------- ----- ----- ---- ----- ----- ----- ----- ---- serge.aus Linux 2.6.11- 2.280 7.141 12.9 26.9 serge.aus Linux 2.6.11- 2.270 7.095 13.1 23.8 27.3 serge.aus Linux 2.6.11- 2.320 7.151 13.0 23.7 27.1 serge.aus Linux 2.6.11- 2.230 6.495 13.0 23.9 27.0 serge.aus Linux 2.6.11- 2.280 7.178 13.1 23.9 27.4 MEAN 2.28 7.012 13.0 23.8 27.1 STDEV 0.03 0.260 0.1 0.1 0.2 File & VM system latencies in microseconds - smaller is better -------------------------------------------------------------- Host OS 0K File 10K File Mmap Prot Page Create Delete Create Delete Latency Fault Fault --------- ------------- ------ ------ ------ ------ ------- ----- ----- serge.aus Linux 2.6.11- 46.9 9.0100 90.3 18.7 890.0 0.794 2.00000 serge.aus Linux 2.6.11- 46.7 8.9630 86.7 18.8 888.0 0.818 2.00000 serge.aus Linux 2.6.11- 46.6 8.9870 89.2 18.7 885.0 0.801 2.00000 serge.aus Linux 2.6.11- 46.7 9.0160 90.5 18.5 887.0 0.793 2.00000 serge.aus Linux 2.6.11- 46.7 9.0810 86.8 18.7 886.0 0.771 2.00000 MEAN 46.7 9.011 88.7 18.7 887.2 0.795 2 STDEV 0.1 0.040 1.7 0.1 1.7 0.015 0 *Local* Communication bandwidths in MB/s - bigger is better ----------------------------------------------------------- Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write --------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----- serge.aus Linux 2.6.11- 1928 1367 424. 1320.9 1662.7 388.6 411.8 1658 572.9 serge.aus Linux 2.6.11- 1936 2191 428. 1321.5 1663.6 422.5 421.8 1664 583.2 serge.aus Linux 2.6.11- 1867 2167 379. 1322.1 1663.7 401.4 427.1 1658 594.0 serge.aus Linux 2.6.11- 1918 2219 406. 1318.1 1660.1 402.9 425.9 1658 598.9 serge.aus Linux 2.6.11- 1831 1121 444. 1320.7 1660.5 403.2 429.9 1662 606.4 MEAN 1896 1813 416 1320.7 1662.1 403.7 423.3 1660 581.1 STDEV 40 471 22 1.4 1.5 10.8 6.3 3 11.8 Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) --------------------------------------------------- Host OS Mhz L1 $ L2 $ Main mem Guesses --------- ------------- ---- ----- ------ -------- ------- serge.aus Linux 2.6.11- 2367 0.782 7.7890 115.1 serge.aus Linux 2.6.11- 2367 0.782 7.7140 113.4 serge.aus Linux 2.6.11- 2367 0.849 7.7140 114.4 serge.aus Linux 2.6.11- 2367 0.784 7.7400 114.4 serge.aus Linux 2.6.11- 2367 0.782 7.7140 114.1 MEAN 2367 0.796 7.734 114.3 STDEV 0 0.027 0.029 0.5 L M B E N C H 2 . 0 S U M M A R Y ------------------------------------ Basic system parameters ---------------------------------------------------- Host OS Description Mhz --------- ------------- ----------------------- ---- serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 serge.aus Linux 2.6.11- i686-pc-linux-gnu 2368 Processor, Processes - times in microseconds - smaller is better ---------------------------------------------------------------- Host OS Mhz null null open selct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc --------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ---- serge.aus Linux 2.6.11- 2368 0.17 0.46 3.77 4.46 7.349 0.66 2.17 134. 552. 2561 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.69 4.48 7.203 0.65 2.15 135. 544. 2542 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.68 4.49 7.111 0.66 2.18 135. 546. 2549 serge.aus Linux 2.6.11- 2368 0.17 0.48 3.78 4.51 7.516 0.66 2.14 134. 561. 2557 serge.aus Linux 2.6.11- 2368 0.17 0.46 3.68 4.51 6.971 0.65 2.12 134. 534. 2552 MEAN 2368 0.17 0.46 3.72 4.49 7.23 0.66 2.15 134 547 2552 STDEV 0 0 0.01 0.05 0.02 0.19 0.00 0.02 0 9 7 Context switching - times in microseconds - smaller is better ------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ----- ------ ------ ------ ------ ------- ------- serge.aus Linux 2.6.11- 2.370 3.2800 6.7500 4.3800 33.8 8.23000 41.9 serge.aus Linux 2.6.11- 2.630 3.4200 6.0200 4.3900 34.9 9.39000 41.7 serge.aus Linux 2.6.11- 2.340 3.4500 6.0500 4.0600 34.9 8.94000 41.5 serge.aus Linux 2.6.11- 2.470 3.5300 6.0100 4.2300 33.3 8.29000 41.5 serge.aus Linux 2.6.11- 2.400 3.3600 6.0400 4.1400 33.5 8.14000 41.3 MEAN 2.44 3.41 6.17 4.24 34.1 8.60 41.6 STDEV 0.10 0.08 0.29 0.13 0.7 0.49 0.2 *Local* Communication latencies in microseconds - smaller is better ------------------------------------------------------------------- Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn --------- ------------- ----- ----- ---- ----- ----- ----- ----- ---- serge.aus Linux 2.6.11- 2.370 7.266 13.7 27.6 87.3 serge.aus Linux 2.6.11- 2.630 7.194 13.8 28.1 87.3 serge.aus Linux 2.6.11- 2.340 7.189 13.7 28.1 86.6 serge.aus Linux 2.6.11- 2.470 7.282 13.6 28.2 88.1 serge.aus Linux 2.6.11- 2.400 7.246 13.8 28.1 87.5 MEAN 2.44 7.235 13.7 28.0 87.4 STDEV 0.10 0.038 0.1 0.2 0.5 File & VM system latencies in microseconds - smaller is better -------------------------------------------------------------- Host OS 0K File 10K File Mmap Prot Page Create Delete Create Delete Latency Fault Fault --------- ------------- ------ ------ ------ ------ ------- ----- ----- serge.aus Linux 2.6.11- 47.8 9.5070 89.7 19.4 886.0 0.823 2.00000 serge.aus Linux 2.6.11- 47.6 9.5630 87.7 18.9 889.0 0.784 2.00000 serge.aus Linux 2.6.11- 47.9 9.5780 88.0 19.6 880.0 0.804 2.00000 serge.aus Linux 2.6.11- 47.6 9.6110 87.9 19.3 890.0 0.779 2.00000 serge.aus Linux 2.6.11- 47.5 9.5520 88.4 19.4 892.0 0.795 2.00000 MEAN 47.7 9.562 88.3 19.3 887 0.797 2 STDEV 0.1 0.034 0.7 0.2 4 0.016 0 *Local* Communication bandwidths in MB/s - bigger is better ----------------------------------------------------------- Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write --------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----- serge.aus Linux 2.6.11- 1840 1309 416. 1315.9 1661.8 384.5 408.8 1660 565.2 serge.aus Linux 2.6.11- 1787 1663 413. 1309.8 1652.5 401.0 420.0 1660 583.4 serge.aus Linux 2.6.11- 1858 1304 400. 1313.0 1664.0 398.4 421.8 1654 597.6 serge.aus Linux 2.6.11- 1875 2216 399. 1317.9 1653.6 400.9 456.0 1667 605.6 serge.aus Linux 2.6.11- 1884 2189 401. 1320.5 1663.7 398.6 423.2 1656 602.3 MEAN 1849 1736 406 1315.4 1659.1 396.7 426.0 1659 590.8 STDEV 34 402 7 3.7 5.0 6.2 15.9 4 14.9 Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) --------------------------------------------------- Host OS Mhz L1 $ L2 $ Main mem Guesses --------- ------------- ---- ----- ------ -------- ------- serge.aus Linux 2.6.11- 2368 0.837 7.7630 116.3 serge.aus Linux 2.6.11- 2368 0.837 7.7630 114.3 serge.aus Linux 2.6.11- 2368 0.848 7.7770 113.2 serge.aus Linux 2.6.11- 2368 0.836 7.7760 114.9 serge.aus Linux 2.6.11- 2368 0.847 7.7640 116.3 MEAN 2368 0.841 7.769 115.0 STDEV 0 0.005 0.006 1.2
This archive was generated by hypermail 2.1.3 : Wed Mar 09 2005 - 08:38:37 PST