* Andrew Morton <akpm(a)osdl.org> wrote:
OK, but most of the new ones are unneeded with
CONFIG_PREEMPT=y. I'm
still failing to see why a non-preempt, voluntary preemption kernel
even needs to try to be competitive with a preemptible kernel?
the reason is difference in overhead (codesize, speed) and risks (driver
robustness). We do not want to enable preempt for Fedora yet because it
breaks just too much stuff and is too heavy. So we looked for a solution
that might work for a generic distro.
here are the code size differences. With a typical .config (debugging
options disabled), the 2.6.7-mm7(+voluntary-preempt) UP x86 kernel gets
the following .text sizes:
orig: 1776911 bytes
preempt: 1855519 bytes (+4.4%)
voluntary: 1783407 bytes (+0.3%)
so if voluntary-preempt can get close to real preempt's numbers for
practical stuff then we get most of the benefits while excluding some of
the nastiest risks and disadvantages.
(Long-term i'd like to see preempt be used unconditionally - at which
point the 10-line CONFIG_VOLUNTARY_PREEMPT Kconfig and kernel.h change
could go away.)
Ingo