IBM 10 SP1 EAL4 Server User Manual


 
For more information about hyperthreading, refer to http://www.intel.com/technology/hyperthread/.
5.2.6 Kernel preemption
The kernel preemption feature has been implemented in the Linux 2.6 kernel. This should significantly lower
latency times for user-interactive applications, multimedia applications, and the like. This feature is
especially good for real-time systems and embedded devices. In previous versions of the kernel it was not
possible to preempt a task executing in kernel mode, including user tasks that had entered into kernel mode
via system calls, until or unless the task voluntarily relinquished the CPU.
Because the kernel is preemptible, a kernel task can be preempted so that some important user applications
can continue to run. The main advantage of this is that there will be a big boost to user interactiveness of the
system, and the user will feel that things are happening at a faster pace for a key stroke or mouse click.
Of course, not all sections of the kernel code can be preempted. Certain critical sections of the kernel code
are locked against preemption. Locking should ensure that both per-CPU data structures and state are always
protected against preemption.
60
Figure 5-14: Hyperthreaded scheduling