2.6 kernel series have noticeable performance regression, part 2
From: yangyi
Date: Tue Jun 14 2005 - 02:21:49 EST
These tables are the performance test results on Toshiba tecra8000
laptop:
Hardware Configuration
+--------+----------------------------------------------------+
| System | Toshiba Tecra8000 Laptop |
+--------+----------------------------------------------------+
| CPU | Pentium II (Deschutes) 233 MHz |
+--------+----------------------------------------------------+
| Cache | L1 I cache 16K, L1 D Cache 16K, L2 cache 512K |
+--------+----------------------------------------------------+
| Memory| 128MB DRAM |
+--------+----------------------------------------------------+
| Storage | ATA disk |
+--------+----------------------------------------------------+
| Network| NE2000 Compatible 10Mb PCMCIA Ethernet Adapter|
+--------+----------------------------------------------------+
Software Configuration
+---------------+---------------------------------------------+
| OS | Red hat Linux 7.2 |
+---------------+---------------------------------------------+
| Kernel Version | Linux 2.6.0 to 2.6.11 |
+---------------+---------------------------------------------+
| File System | Ext3 |
+---------------+---------------------------------------------+
| Testing Tool | Lmbench-3.0-a3, Netperf 2.2pl4 |
+---------------+---------------------------------------------+
Processor, Processes - times in microseconds - smaller is better
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| kernel| Mhz | null| null| | open| slct| sig| sig| fork|
exec| sh|
| | | call| I/O| stat| clos|TCP| inst| hndl| proc| proc|
proc|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.0 | 233| 1.60| 2.24| 19.1| 22.9| 93.5| 4.32| 14.8| 1218| 3574|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.1 | 233| 1.60| 2.21| 18.6| 22.4| 93.6| 4.32| 14.4| 1269| 3661|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.2 | 233| 1.60| 2.21| 18.3| 22.5| 100.| 4.32| 14.0| 1273| 3733|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.3 | 233| 1.52| 2.16| 18.6| 22.9| 93.4| 4.34| 14.5| 1289| 3777|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.4 | 233| 1.52| 2.14| 18.5| 24.4| 93.0| 4.32| 15.1| 1273| 3807|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.5 | 233| 1.52| 2.18| 19.2| 23.3| 102.| 4.34| 14.6| 1269| 3744|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.6 | 233| 1.52| 2.18| 19.1| 23.6| 92.4| 4.44| 14.6| 1239| 3616|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.7 | 233| 1.52| 2.12| 18.6| 22.2| 91.6| 4.43| 14.8| 1194| 3579|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.8 | 233| 1.52| 2.22| 19.0| 24.0| 92.4| 4.45| 15.7| 1255| 3703|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.9 | 233| 1.60| 2.25| 18.9| 24.6| 98.1| 4.50| 16.4| 1182| 3650|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.10| 233| 1.60| 2.32| 18.2| 23.1| 102.| 4.48| 15.0| 1213| 3724|
15.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
| 2.6.11| 233| 1.60| 2.53| 20.2| 26.4| 106.| 4.65| 16.8| 1459| 4324|
16.K|
+------+-----+-----+----+----+-----+----+-----+----+-----+-----+-----+
Context switching - times in microseconds - smaller is better
+------+-------+------+-------+-------+------+--------+--------+
| kernel| 2p/0K|2p/16K|2p/64K| 8p/16K|8p/64K|16p/16K| 16p/64K|
| | ctxsw| ctxsw| ctxsw| ctxsw| ctxsw| ctxsw| ctxsw|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.0 | 4.3900| 22.6| 12.8| 30.1| 124.9| 32.9| 184.7|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.1 | 5.2500| 23.7| 12.1| 32.0| 120.0| 36.3| 189.6|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.2 | 4.8700| 24.3| 13.3| 26.6| 109.0| 40.3| 183.8|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.3 | 4.4700| 22.9| 17.9| 25.5| 95.0| 36.7| 192.2|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.4 | 4.8700| 23.3| 11.4| 29.5| 136.7| 32.4| 188.1|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.5 | 5.6400| 23.8| 12.8| 27.4| 123.9| 39.9| 185.3|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.6 | 4.2300| 22.4| 14.2| 24.6| 113.4| 32.0| 188.9|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.7 | 4.5100| 23.0| 11.4| 27.4| 128.2| 36.7| 185.4|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.8 | 4.6900| 24.4| 14.9| 27.3| 126.3| 39.1| 187.9|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.9 | 5.6500| 24.4| 13.2| 28.5| 123.2| 42.4| 189.8|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.10| 5.8400| 25.4| 16.8| 28.4| 115.5| 37.3| 191.6|
+------+-------+------+-------+-------+------+--------+--------+
| 2.6.11| 6.7100| 25.0| 15.6| 31.4| 110.4| 37.4| 196.5|
+------+-------+------+-------+-------+------+--------+--------+
*Local* Communication latencies in microseconds - smaller is better
+------+------+-----+-----+-----+------+-----+-----+-----+
| kernel| 2p/0K| Pipe| AF| UDP| RPC/| TCP|RPC/| TCP|
| | ctxsw| | UNIX| | UDP| | TCP| conn|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.0 | 4.390| 28.4| 52.0| 184.5| 292.6| 227.8| 358.5| 758.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.1 | 5.250| 31.1| 54.1| 180.8| 295.6| 225.8| 353.3| 761.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.2 | 4.870| 28.1| 53.6| 182.1| 294.3| 225.6| 352.8| 767.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.3 | 4.470| 27.7| 53.9| 186.6| 297.8| 225.0| 350.5| 760.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.4 | 4.870| 28.8| 53.2| 186.9| 294.8| 219.7| 353.8| 756.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.5 | 5.640| 29.5| 55.8| 182.1| 296.0| 224.3| 354.9| 746.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.6 | 4.230| 27.2| 53.8| 188.0| 297.5| 229.3| 349.5| 753.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.7 | 4.510| 27.7| 53.0| 197.0| 308.3| 248.3| 378.2| 761.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.8 | 4.690| 28.4| 59.5| 198.6| 298.8| 247.8| 374.1| 739.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.9 | 5.650| 30.0| 66.7| 197.9| 312.5| 257.5| 394.6| 803.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.10| 5.840| 29.7| 61.6| 194.0| 310.7| 255.4| 391.5| 795.|
+------+------+-----+-----+-----+------+-----+-----+-----+
| 2.6.11| 6.710| 34.2| 69.9| 230.2| 347.9| 298.8| 444.2| 929.|
+------+------+-----+-----+-----+------+-----+-----+-----+
File & VM system latencies in microseconds - smaller is better
+------+-------+-------+------+-------+--------+-----+--------+------+
| kernel| 0K File | 10K File | Mmap | Prot| Page | 100fd|
| | Create | Delete| Create| Delete| Latency| Fault| Fault |
selct|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.0 | 308.9| 90.9| 685.4| 193.0| 871.0| 1.920| 7.47880|
66.5|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.1 | 307.4| 92.9| 676.6| 192.8| 855.0| 2.230| 7.56350|
66.5|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.2 | 291.4| 88.8| 662.7| 194.3| 857.0| 2.125| 7.50460|
66.5|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.3 | 288.3| 88.4| 672.0| 193.4| 884.0| 2.173| 7.71260|
67.5|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.4 | 288.9| 89.1| 694.4| 184.9| 888.0| 1.405| 7.78930|
66.6|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.5 | 288.2| 87.9| 684.0| 194.7| 877.0| 1.820| 7.64620|
66.9|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.6 | 287.6| 84.4| 691.1| 191.9| 880.0| 1.988| 7.68870|
66.1|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.7 | 292.0| 88.2| 669.3| 196.6| 823.0| 1.713| 7.06420|
66.0|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.8 | 287.0| 86.4| 688.2| 203.9| 832.0| 1.130| 7.16240|
66.1|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.9 | 289.2| 92.5| 699.8| 207.3| 904.0| 2.010| 7.13500|
72.1|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.10| 295.1| 90.1| 700.3| 207.0| 911.0| 3.170| 7.07520|
71.9|
+------+-------+-------+------+-------+--------+-----+--------+------+
| 2.6.11| 303.7| 100.0| 734.8| 227.1| 1569.0| 2.269| 8.19040|
82.6|
+------+-------+-------+------+-------+--------+-----+--------+------+
*Local* Communication bandwidths in MB/s - bigger is better
+------+-----+----+----+-------+------+-------+-------+----+------+
| kernel| Pipe | AF |TCP| File| Mmap| Bcopy| Bcopy|Mem| Mem|
| | |UNIX| | reread| reread| (libc)| (hand)| read| write|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.0 | 100.| 62.2| 26.6| 88.8| 206.3| 85.6| 86.5| 206.| 120.7|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.1 | 99.4| 66.1| 27.9| 88.1| 206.3| 85.9| 86.1| 206.| 120.5|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.2 | 99.9| 63.2| 28.7| 88.2| 206.3| 85.7| 86.4| 206.| 120.6|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.3 | 102.| 62.8| 27.7| 88.2| 206.4| 85.6| 85.7| 206.| 120.6|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.4 | 101.| 62.0| 32.5| 88.5| 206.3| 85.9| 86.2| 206.| 120.4|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.5 | 101.| 60.8| 32.2| 84.6| 206.3| 86.0| 86.3| 206.| 120.6|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.6 | 101.| 61.9| 31.8| 75.1| 203.8| 84.8| 84.3| 204.| 119.4|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.7 | 91.4| 61.6| 23.4| 87.9| 206.2| 86.0| 86.3| 206.| 120.2|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.8 | 92.2| 63.6| 24.1| 85.0| 206.1| 85.9| 85.6| 206.| 120.5|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.9 | 89.6| 61.1| 30.3| 88.4| 205.8| 85.8| 86.2| 205.| 120.3|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.10| 89.4| 61.2| 30.6| 87.7| 206.1| 85.8| 86.3| 206.| 120.3|
+------+-----+----+----+-------+------+-------+-------+----+------+
| 2.6.11| 67.7| 59.5| 28.2| 88.0| 205.7| 85.5| 86.0| 205.| 120.3|
+------+-----+----+----+-------+------+-------+-------+----+------+
Netperf result
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| | Packet Size (Bytes)
|
+
+-------+-------+-------+-------+-------+------+------+-------+-------+
| | 1| 4| 16| 64| 256| 1024| 4096| 6384|
65536|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| kernel| Throughput (Mbits/s)
|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.0 | 0.39| 2.33| 6.04| 7.75| 8.38| 8.53| 8.65|
8.64| 8.68|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.1 | 0.38| 2.28| 6.05| 7.74| 8.42| 8.52| 8.61|
8.64| 8.68|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.2 | 0.38| 2.29| 6.03| 7.72| 8.36| 8.50| 8.63|
8.63| 8.67|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.3 | 0.38| 2.26| 6.00| 7.74| 8.34| 8.56| 8.58|
8.69| 8.65|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.4 | 0.38| 2.27| 6.05| 7.72| 8.36| 8.49| 8.63|
8.63| 8.66|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.5 | 0.38| 2.26| 6.01| 7.71| 8.37| 8.49| 8.63|
8.63| 8.70|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.6 | 0.35| 2.04| 5.82| 7.63| 8.28| 8.55| 8.60|
8.70| 8.65|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.7 | 0.37| 2.19| 6.02| 7.73| 8.39| 8.52| 8.64|
8.64| 8.68|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.8 | 0.36| 2.07| 5.91| 7.73| 8.32| 8.55| 8.57|
8.69| 7.94|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.9 | 0.32| 1.86| 5.87| 7.62| 8.20| 8.44| 8.41|
8.58| 8.54|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.10| 0.33| 1.94| 5.91| 7.58| 8.20| 8.45| 8.43|
8.57| 8.55|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
| 2.6.11| 0.26| 1.34| 5.35| 7.24| 8.07| 8.24| 8.28|
8.40| 8.49|
+------+-------+-------+-------+------+-------+-------+------+-------+------+
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/