kernel defconfig, debugging, preemption, and very noticeable speedups
gb at bsdmn.com
Wed Jan 6 19:24:57 CET 2010
hi all, next bunch of kernel config changes.
i did series of tests with lmbench disable next part of performance-wise
options in kernel config. I archived very fast result. For example, top
average CPU usage were dropped down from 3.2% with default config kernel
to 1.6% average.
debian on sd, andy-tracking kernel with default config
(gta02_moredrivers_defconfig) for gta02 + plus one feature changed. all
tests were run several times
Features changed as in summary report:
1. defconfig - default config
2. nodebug - debugging off : all except "Enable dynamic printk() call
support" and "timing info"
3. speed - use -O2 optimization instead of -Os
4. nopreempt - disable preemtion (CONFIG_PREEMPT)
file operations should be ignored, variuos memcpys and cache speeds can
be used to mae sure that tests are comparable and system is ok.
1. debug impact is huge - 10x in open/close test, 13% on select, 10x on
signal hadling, 2x on exec, 2x on fork, 1,8x on context switches. 50% on
pipe latency, 30% on local TCP, 30% on pipes. system feel much faster.
2. preemption disable: smaller scale speedups, but also seem very
3. optimising for speed have some impact in different areas, + and -, 0
in total, but much things were not tested.
so i propose to:
1) disable debugging for sure.
2) disable preemtion.
3) disable optimization for speed.
More information about the openmoko-kernel