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 | cost of slightly increased overhead in some places. If unsure say | 510 | cost of slightly increased overhead in some places. If unsure say |
| 511 | N here. | 511 | N here. |
| 512 | 512 | ||
| 513 | config PREEMPT | 513 | source "kernel/Kconfig.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. | ||
| 535 | 514 | ||
| 536 | config X86_UP_APIC | 515 | config X86_UP_APIC |
| 537 | bool "Local APIC support on uniprocessors" | 516 | bool "Local APIC support on uniprocessors" |
| @@ -270,26 +270,7 @@ config SCHED_SMT · 269 unmodified lines | |||
| 270 | when dealing with POWER5 cpus at a cost of slightly increased | 270 | when dealing with POWER5 cpus at a cost of slightly increased |
| 271 | overhead in some places. If unsure say N here. | 271 | overhead in some places. If unsure say N here. |
| 272 | 272 | ||
| 273 | config PREEMPT | 273 | source "kernel/Kconfig.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. | ||
| 293 | 274 | ||
| 294 | config EEH | 275 | config EEH |
| 295 | bool "PCI Extended Error Handling (EEH)" if EMBEDDED | 276 | bool "PCI Extended Error Handling (EEH)" if EMBEDDED |
| @@ -207,33 +207,6 @@ config SMP · 206 unmodified lines | |||
| 207 | 207 | ||
| 208 | If you don't know what to do here, say N. | 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 | config SCHED_SMT | 210 | config SCHED_SMT |
| 238 | bool "SMT (Hyperthreading) scheduler support" | 211 | bool "SMT (Hyperthreading) scheduler support" |
| 239 | depends on SMP | 212 | depends on SMP |
| @@ -244,6 +217,8 @@ config SCHED_SMT · 4 unmodified lines | |||
| 244 | cost of slightly increased overhead in some places. If unsure say | 217 | cost of slightly increased overhead in some places. If unsure say |
| 245 | N here. | 218 | N here. |
| 246 | 219 | ||
| 220 | source "kernel/Kconfig.preempt" | ||
| 221 | |||
| 247 | config K8_NUMA | 222 | config K8_NUMA |
| 248 | bool "K8 NUMA support" | 223 | bool "K8 NUMA support" |
| 249 | select NUMA | 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 | |||