diff options
author | Ingo Molnar <mingo@elte.hu> | 2005-06-25 17:57:36 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:45 -0400 |
commit | cc19ca86a023fcd552c78e77a7be6ce271f92a28 (patch) | |
tree | b4e9c9b02b73105d363070c49a765208b99cee1a | |
parent | 7f1867a5b3dc3034cbea403b229d65eed4a7f62e (diff) |
[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.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/i386/Kconfig | 23 | ||||
-rw-r--r-- | arch/ppc64/Kconfig | 21 | ||||
-rw-r--r-- | arch/x86_64/Kconfig | 29 | ||||
-rw-r--r-- | kernel/Kconfig.preempt | 24 |
4 files changed, 28 insertions, 69 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index b4cd11e58451..961ab20032f5 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
@@ -510,28 +510,7 @@ config SCHED_SMT | |||
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" |
diff --git a/arch/ppc64/Kconfig b/arch/ppc64/Kconfig index cb27068bfcd4..5f40b438b584 100644 --- a/arch/ppc64/Kconfig +++ b/arch/ppc64/Kconfig | |||
@@ -270,26 +270,7 @@ config SCHED_SMT | |||
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 |
diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 92f5a5266023..a853d87ff7e3 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig | |||
@@ -207,33 +207,6 @@ config SMP | |||
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 | |||
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 |
diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt new file mode 100644 index 000000000000..587328be8216 --- /dev/null +++ b/kernel/Kconfig.preempt | |||
@@ -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 | |||