Back to home page

LXR

 
 

    


0001 
0002 choice
0003         prompt "Preemption Model"
0004         default PREEMPT_NONE
0005 
0006 config PREEMPT_NONE
0007         bool "No Forced Preemption (Server)"
0008         help
0009           This is the traditional Linux preemption model, geared towards
0010           throughput. It will still provide good latencies most of the
0011           time, but there are no guarantees and occasional longer delays
0012           are possible.
0013 
0014           Select this option if you are building a kernel for a server or
0015           scientific/computation system, or if you want to maximize the
0016           raw processing power of the kernel, irrespective of scheduling
0017           latencies.
0018 
0019 config PREEMPT_VOLUNTARY
0020         bool "Voluntary Kernel Preemption (Desktop)"
0021         help
0022           This option reduces the latency of the kernel by adding more
0023           "explicit preemption points" to the kernel code. These new
0024           preemption points have been selected to reduce the maximum
0025           latency of rescheduling, providing faster application reactions,
0026           at the cost of slightly lower throughput.
0027 
0028           This allows reaction to interactive events by allowing a
0029           low priority process to voluntarily preempt itself even if it
0030           is in kernel mode executing a system call. This allows
0031           applications to run more 'smoothly' even when the system is
0032           under load.
0033 
0034           Select this if you are building a kernel for a desktop system.
0035 
0036 config PREEMPT
0037         bool "Preemptible Kernel (Low-Latency Desktop)"
0038         select PREEMPT_COUNT
0039         select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
0040         help
0041           This option reduces the latency of the kernel by making
0042           all kernel code (that is not executing in a critical section)
0043           preemptible.  This allows reaction to interactive events by
0044           permitting a low priority process to be preempted involuntarily
0045           even if it is in kernel mode executing a system call and would
0046           otherwise not be about to reach a natural preemption point.
0047           This allows applications to run more 'smoothly' even when the
0048           system is under load, at the cost of slightly lower throughput
0049           and a slight runtime overhead to kernel code.
0050 
0051           Select this if you are building a kernel for a desktop or
0052           embedded system with latency requirements in the milliseconds
0053           range.
0054 
0055 endchoice
0056 
0057 config PREEMPT_COUNT
0058        bool