| .. | .. | 
|---|
 | 1 | +# SPDX-License-Identifier: GPL-2.0-only  | 
|---|
| 1 | 2 |   | 
|---|
| 2 | 3 |  choice | 
|---|
| 3 | 4 |  	prompt "Preemption Model" | 
|---|
| .. | .. | 
|---|
| 37 | 38 |  config PREEMPT | 
|---|
| 38 | 39 |  	bool "Preemptible Kernel (Low-Latency Desktop)" | 
|---|
| 39 | 40 |  	depends on !ARCH_NO_PREEMPT | 
|---|
| 40 |  | -	select PREEMPT_COUNT  | 
|---|
 | 41 | +	select PREEMPTION  | 
|---|
| 41 | 42 |  	select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK | 
|---|
| 42 | 43 |  	help | 
|---|
| 43 | 44 |  	  This option reduces the latency of the kernel by making | 
|---|
| .. | .. | 
|---|
| 54 | 55 |  	  embedded system with latency requirements in the milliseconds | 
|---|
| 55 | 56 |  	  range. | 
|---|
| 56 | 57 |   | 
|---|
 | 58 | +config PREEMPT_RT  | 
|---|
 | 59 | +	bool "Fully Preemptible Kernel (Real-Time)"  | 
|---|
 | 60 | +	depends on EXPERT && ARCH_SUPPORTS_RT  | 
|---|
 | 61 | +	select PREEMPTION  | 
|---|
 | 62 | +	help  | 
|---|
 | 63 | +	  This option turns the kernel into a real-time kernel by replacing  | 
|---|
 | 64 | +	  various locking primitives (spinlocks, rwlocks, etc.) with  | 
|---|
 | 65 | +	  preemptible priority-inheritance aware variants, enforcing  | 
|---|
 | 66 | +	  interrupt threading and introducing mechanisms to break up long  | 
|---|
 | 67 | +	  non-preemptible sections. This makes the kernel, except for very  | 
|---|
 | 68 | +	  low level and critical code paths (entry code, scheduler, low  | 
|---|
 | 69 | +	  level interrupt handling) fully preemptible and brings most  | 
|---|
 | 70 | +	  execution contexts under scheduler control.  | 
|---|
 | 71 | +  | 
|---|
 | 72 | +	  Select this if you are building a kernel for systems which  | 
|---|
 | 73 | +	  require real-time guarantees.  | 
|---|
 | 74 | +  | 
|---|
| 57 | 75 |  endchoice | 
|---|
| 58 | 76 |   | 
|---|
| 59 | 77 |  config PREEMPT_COUNT | 
|---|
| 60 |  | -       bool  | 
|---|
 | 78 | +       bool  | 
|---|
 | 79 | +  | 
|---|
 | 80 | +config PREEMPTION  | 
|---|
 | 81 | +       bool  | 
|---|
 | 82 | +       select PREEMPT_COUNT  | 
|---|