Preemption
The server kernel has kernel preemption turned off (CONFIG_PREEMPT_NONE=y), while the desktop kernel has it enabled (CONFIG_PREEMPT_BKL=y, CONFIG_PREEMPT_VOLUNTARY=y). Preemption works along with scheduling to fine-tune performance, efficiency and responsiveness. In non-preemptive kernels, kernel code runs until completion; the scheduler can't touch it until it's finished. But the Linux kernel allows tasks to be interrupted at nearly any point (but not when it is unsafe, which is a whole huge fascinating topic all by itself), so that tasks of lesser-priority can jump to the head of the line.
This is appropriate for desktop systems because users typically have several things going at once: writing documents, playing music, Web surfing, downloading and so on. Users don't care how responsive background applications are; they care only about the ones they're actively using. So if loading a Web page takes a little longer while the user is writing an e-mail, it's an acceptable trade-off. Overall efficiency and performance are actually reduced but not in a way that annoys the user.
On servers you want to minimize any and all performance hits, so turning off preemption is usually the best practice.
Group items matching
in title, tags, annotations or url
3More
1 - 3 of 3
Showing 20▼ items per page