History

[PATCH] consolidate PREEMPT options into kernel/Kconfig.preempt

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.

Ingo Molnar committed 21 years ago

Commit cc19ca81 parent 7f1867a4 files · +28 −69Browse files

Unified · Split

4 files
  1. arch/i386/Kconfig +1 −22
  2. arch/ppc64/Kconfig +1 −20
  3. arch/x86_64/Kconfig +2 −27
  4. kernel/Kconfig.preempt +24 −0
arch/i386/Kconfig+1−22
@@ -510,28 +510,7 @@ config SCHED_SMT · 509 unmodified lines
510 cost of slightly increased overhead in some places. If unsure say510 cost of slightly increased overhead in some places. If unsure say
511 N here.511 N here.
512 512
513config PREEMPT513source "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
525config 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
536config X86_UP_APIC515config X86_UP_APIC
537 bool "Local APIC support on uniprocessors"516 bool "Local APIC support on uniprocessors"
arch/ppc64/Kconfig+1−20
@@ -270,26 +270,7 @@ config SCHED_SMT · 269 unmodified lines
270 when dealing with POWER5 cpus at a cost of slightly increased270 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
273config PREEMPT273source "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
283config 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
294config EEH275config EEH
295 bool "PCI Extended Error Handling (EEH)" if EMBEDDED276 bool "PCI Extended Error Handling (EEH)" if EMBEDDED
arch/x86_64/Kconfig+2−27
@@ -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
210config 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
226config 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
237config SCHED_SMT210config SCHED_SMT
238 bool "SMT (Hyperthreading) scheduler support"211 bool "SMT (Hyperthreading) scheduler support"
239 depends on SMP212 depends on SMP
@@ -244,6 +217,8 @@ config SCHED_SMT · 4 unmodified lines
244 cost of slightly increased overhead in some places. If unsure say217 cost of slightly increased overhead in some places. If unsure say
245 N here.218 N here.
246 219
220source "kernel/Kconfig.preempt"
221
247config K8_NUMA222config K8_NUMA
248 bool "K8 NUMA support"223 bool "K8 NUMA support"
249 select NUMA224 select NUMA
kernel/Kconfig.preempt+24−0
@@ -0,0 +1,24 @@
1
2config 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
14config 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