2.6 kernel series have noticeable performance regression, part1

From: yangyi
Date: Tue Jun 14 2005 - 02:19:55 EST


These tables are the performance test results on SuperMicro-6012-p6:

Hardware Configuration
+--------+----------------------------------------------------------+
| System | SuperMicro-6012-p6 |
+--------+----------------------------------------------------------+
| CPU | two-way 2.8 GHz Xeon SMP |
+--------+----------------------------------------------------------+
| Cache | L1 D cache 8K, L2 cache 512K |
+--------+----------------------------------------------------------+
| Memory| 512MB SDRAM |
+--------+----------------------------------------------------------+
| Storage | Adaptec AIC7XXX SCSI disk |
+--------+----------------------------------------------------------+
| Network| Intel E1000 Ethernet Adapter |
+--------+----------------------------------------------------------+

Software Specification
+----------------+----------------------------------------------------+
| OS | MontaVista CGE 3.1 |
+----------------+----------------------------------------------------+
| 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 | 2800| 0.42| 0.49| 1.89| 2.72| 16.4| 0.75| 2.75| 150.| 486.|
2315|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.1 | 2800| 0.42| 0.50| 1.89| 2.75| 16.6| 0.76| 2.76| 153.| 484.|
2310|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.2 | 2800| 0.42| 0.49| 1.97| 2.73| 16.5| 0.75| 2.73| 150.| 500.|
2311|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.3 | 2800| 0.42| 0.49| 1.94| 2.80| 16.5| 0.75| 2.80| 150.| 496.|
2300|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.4 | 2800| 0.42| 0.49| 1.88| 2.72| 16.4| 0.75| 2.73| 152.| 499.|
2318|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.5 | 2800| 0.42| 0.49| 1.94| 2.74| 16.5| 0.75| 2.77| 152.| 500.|
2300|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.6 | 2800| 0.42| 0.51| 1.96| 2.78| 17.3| 0.76| 2.84| 154.| 493.|
2287|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.7 | 2800| 0.42| 0.49| 1.87| 2.69| 16.8| 0.77| 2.76| 146.| 555.|
2336|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.8 | 2800| 0.42| 0.49| 1.93| 2.77| 16.6| 0.77| 2.94| 149.| 543.|
2329|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.9 | 2800| 0.42| 0.50| 1.94| 2.77| 16.8| 0.77| 3.01| 137.| 530.|
2310|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.10| 2800| 0.42| 0.50| 1.98| 2.79| 17.7| 0.76| 2.24| 136.| 552.|
2325|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+
| 2.6.11| 2800| 0.42| 0.53| 1.97| 2.89| 19.9| 0.77| 2.28| 171.| 605.|
2423|
+------+-----+-----+----+-----+----+----+-----+----+-----+----+-----+

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 | 3.8400| 3.7800| 3.6300| 4.2300| 11.5| 4.68000| 31.8|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.1 | 3.7500| 3.9600| 3.6300| 4.2400| 7.6000| 4.94000| 31.4|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.2 | 3.7800| 3.6700| 3.6400| 4.3000| 10.6| 4.76000| 31.7|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.3 | 3.6000| 3.6700| 3.6200| 3.7000| 8.7900| 4.39000| 31.4|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.4 | 3.5900| 3.9100| 3.5700| 4.2500| 8.3900| 4.52000| 33.5|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.5 | 3.5100| 3.7500| 3.3600| 4.2900| 10.4| 4.39000| 31.1|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.6 | 3.9300| 3.9800| 5.0800| 4.3400| 7.1500| 4.40000| 32.8|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.7 | 4.1300| 4.2400| 4.1300| 4.0300| 9.5000| 4.37000| 31.2|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.8 | 4.4200| 4.6400| 4.7200| 4.4600| 9.2300| 5.42000| 32.0|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.9 | 5.3000| 5.4000| 5.2400| 4.9100| 8.2300| 5.78000| 34.3|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.10| 5.4200| 5.7600| 5.6100| 5.2800| 10.4| 5.81000| 33.2|
+------+-------+------+-------+-------+-------+--------+--------+
| 2.6.11| 5.0600| 5.5100| 5.5400| 6.2200| 17.1| 7.05000| 35.0|
+------+-------+------+-------+-------+-------+--------+--------+

*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 | 3.840| 11.1| 14.8| 27.7| 36.4| 32.6| 42.0| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.1 | 3.750| 11.3| 15.1| 28.5| 36.0| 31.9| 42.0| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.2 | 3.780| 11.1| 14.2| 27.8| 35.2| 30.9| 43.1| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.3 | 3.600| 10.6| 15.5| 27.8| 35.7| 31.2| 41.8| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.4 | 3.590| 10.8| 15.4| 27.8| 35.3| 31.3| 42.0| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.5 | 3.510| 10.7| 16.6| 27.5| 35.3| 31.8| 41.7| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.6 | 3.930| 11.2| 16.4| 28.6| 35.4| 32.6| 41.2| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.7 | 4.130| 12.2| 17.8| 29.2| 35.6| 33.4| 43.5| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.8 | 4.420| 12.6| 17.3| 29.5| 36.4| 34.0| 45.0| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.9 | 5.300| 14.4| 17.4| 30.1| 36.7| 34.2| 43.5| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.10| 5.420| 14.4| 16.8| 29.4| 37.0| 34.4| 43.5| |
+------+------+-----+-----+-----+------+------+-----+-----+
| 2.6.11| 5.060| 14.2| 18.2| 33.3| 41.7| 39.0| 51.0| |
+------+------+-----+-----+-----+------+------+-----+-----+

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 | 4.2290| 2.9060| 24.4| 6.5150| 1717.0| 0.790| 2.44470|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.1 | 4.4140| 2.9560| 24.9| 6.5470| 1725.0| 0.833| 2.43510|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.2 | 4.2090| 2.8970| 24.6| 6.4380| 1723.0| | 2.45170|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.3 | 4.2540| 2.9470| 24.3| 6.5300| 1727.0| 0.787| 2.44160|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.4 | 4.2350| 2.9080| 24.4| 6.4690| 1717.0| 0.792| 2.46550|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.5 | 4.2290| 2.8810| 24.7| 6.4540| 1722.0| 0.751| 2.47660|
15.7|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.6 | 4.1570| 2.7980| 24.5| 6.8960| 1731.0| 0.849| 2.44610|
15.4|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.7 | 4.1540| 2.8120| 24.5| 6.9380| 1652.0| 0.724| 2.31820|
16.2|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.8 | 4.1390| 2.8230| 23.9| 7.0110| 1655.0| 0.787| 2.37340|
16.0|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.9 | 4.4320| 2.7890| 24.8| 7.0630| 1592.0| 0.854| 2.23750|
15.3|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.10| 4.4210| 2.8130| 24.8| 7.1710| 1593.0| 0.937| 2.24050|
15.9|
+------+------+-------+-------+-------+--------+-----+--------+------+
| 2.6.11| 4.5770| 3.0230| 25.5| 7.5990| 2209.0| 0.960| 2.41500|
16.4|
+------+------+-------+-------+-------+--------+-----+--------+------+

*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 | 1070| 461.| 244.| 1555.4| 1630.3| 582.9| 603.5| 1628| 696.8|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.1 | 1059| 447.| 255.| 1532.7| 1609.8| 574.5| 593.0| 1628| 698.4|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.2 | 1159| 468.| 263.| 1548.3| 1630.3| 581.3| 601.7| 1627| 696.9|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.3 | 1156| 438.| 245.| 1540.6| 1630.3| 575.2| 601.8| 1626| 698.6|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.4 | 1141| 445.| 264.| 1546.9| 1629.6| 582.1| 602.3| 1609| 700.0|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.5 | 1058| 447.| 263.| 1548.1| 1611.8| 574.9| 595.2| 1608| 698.7|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.6 | 1136| 443.| 259.| 1535.1| 1629.2| 574.2| 601.7| 1606| 701.2|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.7 | 841.| 453.| 213.| 1534.0| 1608.8| 574.9| 601.5| 1605| 703.0|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.8 | 843.| 445.| 219.| 1585.3| 1609.5| 575.1| 593.3| 1626| 702.2|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.9 | 779.| 439.| 247.| 1568.0| 1628.4| 569.8| 588.8| 1625| 705.2|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.10| 741.| 455.| 246.| 1566.3| 1627.6| 571.3| 591.4| 1604| 703.3|
+------+-----+-----+----+-------+-------+------+-------+-----+------+
| 2.6.11| 552.| 446.| 242.| 1566.8| 1607.8| 574.2| 601.7| 1603| 699.0|
+------+-----+-----+----+-------+-------+------+-------+-----+------+

Netperf results
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| | Packet Size (Bytes) |
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| | 1| 4| 16| 64| 256| 1024| 4096| 16384|
65536|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| kernel| Throughput (Mbits/s)
|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.0 | 8.12| 31.01| 121.97| 443.56| 910.58| 911.70| 926.59|
924.80| 928.04|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.1 | 7.91| 30.45| 120.60| 445.69| 909.58| 930.71| 928.13|
924.57| 925.49|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.2 | 8.11| 31.19| 123.33| 438.94| 921.12| 914.43| 926.55|
935.47| 928.33|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.3 | 8.09| 30.88| 122.52| 454.89| 920.64| 918.04| 919.66|
926.66| 927.85|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.4 | 8.10| 30.79| 118.29| 390.35| 869.74| 769.71| 803.05|
939.80| 939.54|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.5 | 8.19| 31.17| 118.69| 390.03| 867.73| 937.65| 938.91|
939.70| 939.78|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.6 | 7.61| 29.01| 111.42| 373.83| 847.90| 937.54| 939.32|
939.78| 939.84|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.7 | 7.58| 28.39| 108.20| 352.59| 776.24| 938.54| 939.14|
939.45| 939.80|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.8 | 7.37| 27.69| 100.97| 317.14| 761.78| 936.87| 939.55|
940.06| 939.80|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.9 | 6.89| 26.75| 101.03| 337.41| 932.48| 937.60| 938.57|
938.41| 938.54|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.10| 7.03| 26.91| 100.26| 336.98| 932.08| 937.23| 938.70|
918.02| 938.66|
+------+-------+-------+------+-------+-------+-------+------+-------+------+
| 2.6.11| 6.17| 23.93| 92.08| 295.94| 881.60| 920.58| 938.19|
938.25| 938.52|
+------+-------+-------+------+-------+-------+-------+------+-------+------+


-
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/