I think what's also important that maybe one size doesn't fit all, the optimizations that help large databases (or benchmarks simulating large databases) on one architecture might decrease the performance of e.g. video encoding on an other architecture. So some parts of the kernel should be configurable by some knobs.