From: Ingo Molnar 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 Signed-off-by: Andrew Morton --- arch/i386/Kconfig | 23 +---------------------- arch/ppc64/Kconfig | 21 +-------------------- arch/x86_64/Kconfig | 29 ++--------------------------- kernel/Kconfig.preempt | 24 ++++++++++++++++++++++++ 4 files changed, 28 insertions(+), 69 deletions(-) diff -puN arch/i386/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt arch/i386/Kconfig --- 25/arch/i386/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt 2005-05-25 00:02:26.000000000 -0700 +++ 25-akpm/arch/i386/Kconfig 2005-05-25 00:02:26.000000000 -0700 @@ -510,28 +510,7 @@ config SCHED_SMT cost of slightly increased overhead in some places. If unsure say N here. -config PREEMPT - bool "Preemptible Kernel" - help - This option reduces the latency of the kernel when reacting to - real-time or interactive events by allowing a low priority process to - be preempted even if it is in kernel mode executing a system call. - This allows applications to run more reliably even when the system is - under load. - - Say Y here if you are building a kernel for a desktop, embedded - or real-time system. Say N if you are unsure. - -config PREEMPT_BKL - bool "Preempt The Big Kernel Lock" - depends on PREEMPT - default y - help - This option reduces the latency of the kernel by making the - big kernel lock preemptible. - - Say Y here if you are building a kernel for a desktop system. - Say N if you are unsure. +source "kernel/Kconfig.preempt" config X86_UP_APIC bool "Local APIC support on uniprocessors" diff -puN arch/ppc64/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt arch/ppc64/Kconfig --- 25/arch/ppc64/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt 2005-05-25 00:02:26.000000000 -0700 +++ 25-akpm/arch/ppc64/Kconfig 2005-05-25 00:02:26.000000000 -0700 @@ -251,26 +251,7 @@ config SCHED_SMT when dealing with POWER5 cpus at a cost of slightly increased overhead in some places. If unsure say N here. -config PREEMPT - bool "Preemptible Kernel" - help - This option reduces the latency of the kernel when reacting to - real-time or interactive events by allowing a low priority process to - be preempted even if it is in kernel mode executing a system call. - - Say Y here if you are building a kernel for a desktop, embedded - or real-time system. Say N if you are unsure. - -config PREEMPT_BKL - bool "Preempt The Big Kernel Lock" - depends on PREEMPT - default y - help - This option reduces the latency of the kernel by making the - big kernel lock preemptible. - - Say Y here if you are building a kernel for a desktop system. - Say N if you are unsure. +source "kernel/Kconfig.preempt" config EEH bool "PCI Extended Error Handling (EEH)" if EMBEDDED diff -puN arch/x86_64/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt arch/x86_64/Kconfig --- 25/arch/x86_64/Kconfig~consolidate-preempt-options-into-kernel-kconfigpreempt 2005-05-25 00:02:26.000000000 -0700 +++ 25-akpm/arch/x86_64/Kconfig 2005-05-25 00:02:26.000000000 -0700 @@ -207,33 +207,6 @@ config SMP If you don't know what to do here, say N. -config PREEMPT - bool "Preemptible Kernel" - ---help--- - This option reduces the latency of the kernel when reacting to - real-time or interactive events by allowing a low priority process to - be preempted even if it is in kernel mode executing a system call. - This allows applications to run more reliably even when the system is - under load. On contrary it may also break your drivers and add - priority inheritance problems to your system. Don't select it if - you rely on a stable system or have slightly obscure hardware. - It's also not very well tested on x86-64 currently. - You have been warned. - - Say Y here if you are feeling brave and building a kernel for a - desktop, embedded or real-time system. Say N if you are unsure. - -config PREEMPT_BKL - bool "Preempt The Big Kernel Lock" - depends on PREEMPT - default y - help - This option reduces the latency of the kernel by making the - big kernel lock preemptible. - - Say Y here if you are building a kernel for a desktop system. - Say N if you are unsure. - config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" depends on SMP @@ -244,6 +217,8 @@ config SCHED_SMT cost of slightly increased overhead in some places. If unsure say N here. +source "kernel/Kconfig.preempt" + config K8_NUMA bool "K8 NUMA support" select NUMA diff -puN /dev/null kernel/Kconfig.preempt --- /dev/null 2003-09-15 06:40:47.000000000 -0700 +++ 25-akpm/kernel/Kconfig.preempt 2005-05-25 00:02:26.000000000 -0700 @@ -0,0 +1,24 @@ + +config PREEMPT + bool "Preemptible Kernel" + help + This option reduces the latency of the kernel when reacting to + real-time or interactive events by allowing a low priority process to + be preempted even if it is in kernel mode executing a system call. + This allows applications to run more reliably even when the system is + under load. + + Say Y here if you are building a kernel for a desktop, embedded + or real-time system. Say N if you are unsure. + +config PREEMPT_BKL + bool "Preempt The Big Kernel Lock" + depends on PREEMPT + default y + help + This option reduces the latency of the kernel by making the + big kernel lock preemptible. + + Say Y here if you are building a kernel for a desktop system. + Say N if you are unsure. + _