~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/kernel/Kconfig.preempt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /kernel/Kconfig.preempt (Version linux-6.12-rc7) and /kernel/Kconfig.preempt (Version linux-2.6.0)


  1 # SPDX-License-Identifier: GPL-2.0-only           
  2                                                   
  3 config PREEMPT_NONE_BUILD                         
  4         bool                                      
  5                                                   
  6 config PREEMPT_VOLUNTARY_BUILD                    
  7         bool                                      
  8                                                   
  9 config PREEMPT_BUILD                              
 10         bool                                      
 11         select PREEMPTION                         
 12         select UNINLINE_SPIN_UNLOCK if !ARCH_I    
 13                                                   
 14 choice                                            
 15         prompt "Preemption Model"                 
 16         default PREEMPT_NONE                      
 17                                                   
 18 config PREEMPT_NONE                               
 19         bool "No Forced Preemption (Server)"      
 20         select PREEMPT_NONE_BUILD if !PREEMPT_    
 21         help                                      
 22           This is the traditional Linux preemp    
 23           throughput. It will still provide go    
 24           time, but there are no guarantees an    
 25           are possible.                           
 26                                                   
 27           Select this option if you are buildi    
 28           scientific/computation system, or if    
 29           raw processing power of the kernel,     
 30           latencies.                              
 31                                                   
 32 config PREEMPT_VOLUNTARY                          
 33         bool "Voluntary Kernel Preemption (Des    
 34         depends on !ARCH_NO_PREEMPT               
 35         select PREEMPT_VOLUNTARY_BUILD if !PRE    
 36         help                                      
 37           This option reduces the latency of t    
 38           "explicit preemption points" to the     
 39           preemption points have been selected    
 40           latency of rescheduling, providing f    
 41           at the cost of slightly lower throug    
 42                                                   
 43           This allows reaction to interactive     
 44           low priority process to voluntarily     
 45           is in kernel mode executing a system    
 46           applications to run more 'smoothly'     
 47           under load.                             
 48                                                   
 49           Select this if you are building a ke    
 50                                                   
 51 config PREEMPT                                    
 52         bool "Preemptible Kernel (Low-Latency     
 53         depends on !ARCH_NO_PREEMPT               
 54         select PREEMPT_BUILD                      
 55         help                                      
 56           This option reduces the latency of t    
 57           all kernel code (that is not executi    
 58           preemptible.  This allows reaction t    
 59           permitting a low priority process to    
 60           even if it is in kernel mode executi    
 61           otherwise not be about to reach a na    
 62           This allows applications to run more    
 63           system is under load, at the cost of    
 64           and a slight runtime overhead to ker    
 65                                                   
 66           Select this if you are building a ke    
 67           embedded system with latency require    
 68           range.                                  
 69                                                   
 70 config PREEMPT_RT                                 
 71         bool "Fully Preemptible Kernel (Real-T    
 72         depends on EXPERT && ARCH_SUPPORTS_RT     
 73         select PREEMPTION                         
 74         help                                      
 75           This option turns the kernel into a     
 76           various locking primitives (spinlock    
 77           preemptible priority-inheritance awa    
 78           interrupt threading and introducing     
 79           non-preemptible sections. This makes    
 80           low level and critical code paths (e    
 81           level interrupt handling) fully pree    
 82           execution contexts under scheduler c    
 83                                                   
 84           Select this if you are building a ke    
 85           require real-time guarantees.           
 86                                                   
 87 endchoice                                         
 88                                                   
 89 config PREEMPT_COUNT                              
 90        bool                                       
 91                                                   
 92 config PREEMPTION                                 
 93        bool                                       
 94        select PREEMPT_COUNT                       
 95                                                   
 96 config PREEMPT_DYNAMIC                            
 97         bool "Preemption behaviour defined on     
 98         depends on HAVE_PREEMPT_DYNAMIC && !PR    
 99         select JUMP_LABEL if HAVE_PREEMPT_DYNA    
100         select PREEMPT_BUILD                      
101         default y if HAVE_PREEMPT_DYNAMIC_CALL    
102         help                                      
103           This option allows to define the pre    
104           command line parameter and thus over    
105           model defined during compile time.      
106                                                   
107           The feature is primarily interesting    
108           provide a pre-built kernel binary to    
109           flavors they offer while still offer    
110                                                   
111           The runtime overhead is negligible w    
112           but if runtime patching is not avail    
113           then the potential overhead should b    
114                                                   
115           Interesting if you want the same pre    
116           both Server and Desktop workloads.      
117                                                   
118 config SCHED_CORE                                 
119         bool "Core Scheduling for SMT"            
120         depends on SCHED_SMT                      
121         help                                      
122           This option permits Core Scheduling,    
123           selection across SMT siblings. When     
124           prctl(PR_SCHED_CORE) -- task selecti    
125           will execute a task from the same 'c    
126           matching task is found.                 
127                                                   
128           Use of this feature includes:           
129            - mitigation of some (not all) SMT     
130            - limiting SMT interference to impr    
131                                                   
132           SCHED_CORE is default disabled. When    
133           which is the likely usage by Linux d    
134           be no measurable impact on performan    
135                                                   
136 config SCHED_CLASS_EXT                            
137         bool "Extensible Scheduling Class"        
138         depends on BPF_SYSCALL && BPF_JIT && D    
139         select STACKTRACE if STACKTRACE_SUPPOR    
140         help                                      
141           This option enables a new scheduler     
142           allows scheduling policies to be imp    
143           achieve the following:                  
144                                                   
145           - Ease of experimentation and explor    
146             iteration of new scheduling polici    
147           - Customization: Building applicatio    
148             implement policies that are not ap    
149             schedulers.                           
150           - Rapid scheduler deployments: Non-d    
151             scheduling policies in production     
152                                                   
153           sched_ext leverages BPF struct_ops f    
154           which exports function callbacks and    
155           wish to implement scheduling policie    
156           exported by sched_ext is struct sche    
157           similar to struct sched_class.          
158                                                   
159           For more information:                   
160             Documentation/scheduler/sched-ext.    
161             https://github.com/sched-ext/scx      
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php