Re: Latest release of stacker

From: Serge Hallyn (serue@private)
Date: Wed Mar 09 2005 - 07:58:46 PST


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