hc
2023-11-22 9ca5fbcb63a8dcaee0527f96afb91dc4b4bd8fa9
kernel/kernel/Kconfig.preempt
....@@ -1,3 +1,19 @@
1
+config PREEMPT
2
+ bool
3
+ select PREEMPT_COUNT
4
+
5
+config PREEMPT_RT_BASE
6
+ bool
7
+ select PREEMPT
8
+
9
+config PREEMPT_RT
10
+ bool
11
+
12
+config HAVE_PREEMPT_LAZY
13
+ bool
14
+
15
+config PREEMPT_LAZY
16
+ def_bool y if HAVE_PREEMPT_LAZY && PREEMPT_RT_FULL
117
218 choice
319 prompt "Preemption Model"
....@@ -34,10 +50,10 @@
3450
3551 Select this if you are building a kernel for a desktop system.
3652
37
-config PREEMPT
53
+config PREEMPT__LL
3854 bool "Preemptible Kernel (Low-Latency Desktop)"
3955 depends on !ARCH_NO_PREEMPT
40
- select PREEMPT_COUNT
56
+ select PREEMPT
4157 select UNINLINE_SPIN_UNLOCK if !ARCH_INLINE_SPIN_UNLOCK
4258 help
4359 This option reduces the latency of the kernel by making
....@@ -54,7 +70,24 @@
5470 embedded system with latency requirements in the milliseconds
5571 range.
5672
73
+config PREEMPT_RTB
74
+ bool "Preemptible Kernel (Basic RT)"
75
+ select PREEMPT_RT_BASE
76
+ help
77
+ This option is basically the same as (Low-Latency Desktop) but
78
+ enables changes which are preliminary for the full preemptible
79
+ RT kernel.
80
+
81
+config PREEMPT_RT_FULL
82
+ bool "Fully Preemptible Kernel (RT)"
83
+ depends on IRQ_FORCED_THREADING
84
+ select PREEMPT_RT_BASE
85
+ select PREEMPT_RCU
86
+ select PREEMPT_RT
87
+ help
88
+ All and everything
89
+
5790 endchoice
5891
5992 config PREEMPT_COUNT
60
- bool
93
+ bool