September 2016
Intermediate to advanced
989 pages
24h 10m
English
The preemption latency occurs because it is not always safe or desirable to preempt the current thread of execution and call the scheduler. Mainline Linux has three settings for preemption, selected via the Kernel Features | Preemption Model menu:
CONFIG_PREEMPT_NONE: no preemptionCONFIG_PREEMPT_VOLUNTARY: enables additional checks for requests for preemptionCONFIG_PREEMPT: allows the kernel to be preemptedWith preemption set to none, kernel code will continue without rescheduling until it either returns via a syscall back to user space, where preemption is always allowed, or it encounters a sleeping wait which stops the current thread. Since it reduces the number of transitions between the kernel and user space and may reduce ...
Read now
Unlock full access