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
510510 cost of slightly increased overhead in some places. If unsure say
511511 N here.
512512
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"
535514
536515 config X86_UP_APIC
537516 bool "Local APIC support on uniprocessors"
arch/ppc64/Kconfig+1−20
@@ -270,26 +270,7 @@ config SCHED_SMT · 269 unmodified lines
270270 when dealing with POWER5 cpus at a cost of slightly increased
271271 overhead in some places. If unsure say N here.
272272
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"
293274
294275 config EEH
295276 bool "PCI Extended Error Handling (EEH)" if EMBEDDED
arch/x86_64/Kconfig+2−27
@@ -207,33 +207,6 @@ config SMP · 206 unmodified lines
207207
208208 If you don't know what to do here, say N.
209209
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−
237210 config SCHED_SMT
238211 bool "SMT (Hyperthreading) scheduler support"
239212 depends on SMP
@@ -244,6 +217,8 @@ config SCHED_SMT · 4 unmodified lines
244217 cost of slightly increased overhead in some places. If unsure say
245218 N here.
246219
220+source "kernel/Kconfig.preempt"
221+
247222 config K8_NUMA
248223 bool "K8 NUMA support"
249224 select NUMA
kernel/Kconfig.preempt+24−0
@@ -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+