IBM 10 SP1 EAL4 User Manual

Page of 246
For more information about hyperthreading, refer to  
 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