This patch consolidates the CONFIG_PREEMPT and CONFIG_PREEMPT_BKL preemption options into kernel/Kconfig.preempt. This, besides reducing source-code, also enables more centralized tweaking of preemption related options.
Unified · Split
| @@ -510,28 +510,7 @@ config SCHED_SMT · 509 unmodified lines | ||
| 510 | 510 | cost of slightly increased overhead in some places. If unsure say |
| 511 | 511 | N here. |
| 512 | 512 | |
| 513 | −config PREEMPT | |
| 514 | − bool "Preemptible Kernel" | |
| 515 | − help | |
| 516 | − This option reduces the latency of the kernel when reacting to | |
| 517 | − real-time or interactive events by allowing a low priority process to | |
| 518 | − be preempted even if it is in kernel mode executing a system call. | |
| 519 | − This allows applications to run more reliably even when the system is | |
| 520 | − under load. | |
| 521 | − | |
| 522 | − Say Y here if you are building a kernel for a desktop, embedded | |
| 523 | − or real-time system. Say N if you are unsure. | |
| 524 | − | |
| 525 | −config PREEMPT_BKL | |
| 526 | − bool "Preempt The Big Kernel Lock" | |
| 527 | − depends on PREEMPT | |
| 528 | − default y | |
| 529 | − help | |
| 530 | − This option reduces the latency of the kernel by making the | |
| 531 | − big kernel lock preemptible. | |
| 532 | − | |
| 533 | − Say Y here if you are building a kernel for a desktop system. | |
| 534 | − Say N if you are unsure. | |
| 513 | +source "kernel/Kconfig.preempt" | |
| 535 | 514 | |
| 536 | 515 | config X86_UP_APIC |
| 537 | 516 | bool "Local APIC support on uniprocessors" |
| @@ -270,26 +270,7 @@ config SCHED_SMT · 269 unmodified lines | ||
| 270 | 270 | when dealing with POWER5 cpus at a cost of slightly increased |
| 271 | 271 | overhead in some places. If unsure say N here. |
| 272 | 272 | |
| 273 | −config PREEMPT | |
| 274 | − bool "Preemptible Kernel" | |
| 275 | − help | |
| 276 | − This option reduces the latency of the kernel when reacting to | |
| 277 | − real-time or interactive events by allowing a low priority process to | |
| 278 | − be preempted even if it is in kernel mode executing a system call. | |
| 279 | − | |
| 280 | − Say Y here if you are building a kernel for a desktop, embedded | |
| 281 | − or real-time system. Say N if you are unsure. | |
| 282 | − | |
| 283 | −config PREEMPT_BKL | |
| 284 | − bool "Preempt The Big Kernel Lock" | |
| 285 | − depends on PREEMPT | |
| 286 | − default y | |
| 287 | − help | |
| 288 | − This option reduces the latency of the kernel by making the | |
| 289 | − big kernel lock preemptible. | |
| 290 | − | |
| 291 | − Say Y here if you are building a kernel for a desktop system. | |
| 292 | − Say N if you are unsure. | |
| 273 | +source "kernel/Kconfig.preempt" | |
| 293 | 274 | |
| 294 | 275 | config EEH |
| 295 | 276 | bool "PCI Extended Error Handling (EEH)" if EMBEDDED |
| @@ -207,33 +207,6 @@ config SMP · 206 unmodified lines | ||
| 207 | 207 | |
| 208 | 208 | If you don't know what to do here, say N. |
| 209 | 209 | |
| 210 | −config PREEMPT | |
| 211 | − bool "Preemptible Kernel" | |
| 212 | − ---help--- | |
| 213 | − This option reduces the latency of the kernel when reacting to | |
| 214 | − real-time or interactive events by allowing a low priority process to | |
| 215 | − be preempted even if it is in kernel mode executing a system call. | |
| 216 | − This allows applications to run more reliably even when the system is | |
| 217 | − under load. On contrary it may also break your drivers and add | |
| 218 | − priority inheritance problems to your system. Don't select it if | |
| 219 | − you rely on a stable system or have slightly obscure hardware. | |
| 220 | − It's also not very well tested on x86-64 currently. | |
| 221 | − You have been warned. | |
| 222 | − | |
| 223 | − Say Y here if you are feeling brave and building a kernel for a | |
| 224 | − desktop, embedded or real-time system. Say N if you are unsure. | |
| 225 | − | |
| 226 | −config PREEMPT_BKL | |
| 227 | − bool "Preempt The Big Kernel Lock" | |
| 228 | − depends on PREEMPT | |
| 229 | − default y | |
| 230 | − help | |
| 231 | − This option reduces the latency of the kernel by making the | |
| 232 | − big kernel lock preemptible. | |
| 233 | − | |
| 234 | − Say Y here if you are building a kernel for a desktop system. | |
| 235 | − Say N if you are unsure. | |
| 236 | − | |
| 237 | 210 | config SCHED_SMT |
| 238 | 211 | bool "SMT (Hyperthreading) scheduler support" |
| 239 | 212 | depends on SMP |
| @@ -244,6 +217,8 @@ config SCHED_SMT · 4 unmodified lines | ||
| 244 | 217 | cost of slightly increased overhead in some places. If unsure say |
| 245 | 218 | N here. |
| 246 | 219 | |
| 220 | +source "kernel/Kconfig.preempt" | |
| 221 | + | |
| 247 | 222 | config K8_NUMA |
| 248 | 223 | bool "K8 NUMA support" |
| 249 | 224 | select NUMA |
| @@ -0,0 +1,24 @@ | ||
| 1 | + | |
| 2 | +config PREEMPT | |
| 3 | + bool "Preemptible Kernel" | |
| 4 | + help | |
| 5 | + This option reduces the latency of the kernel when reacting to | |
| 6 | + real-time or interactive events by allowing a low priority process to | |
| 7 | + be preempted even if it is in kernel mode executing a system call. | |
| 8 | + This allows applications to run more reliably even when the system is | |
| 9 | + under load. | |
| 10 | + | |
| 11 | + Say Y here if you are building a kernel for a desktop, embedded | |
| 12 | + or real-time system. Say N if you are unsure. | |
| 13 | + | |
| 14 | +config PREEMPT_BKL | |
| 15 | + bool "Preempt The Big Kernel Lock" | |
| 16 | + depends on PREEMPT | |
| 17 | + default y | |
| 18 | + help | |
| 19 | + This option reduces the latency of the kernel by making the | |
| 20 | + big kernel lock preemptible. | |
| 21 | + | |
| 22 | + Say Y here if you are building a kernel for a desktop system. | |
| 23 | + Say N if you are unsure. | |
| 24 | + | |