Re: [PATCH] rt Kconfig.preempt fixes

From: John Kacur
Date: Wed Aug 20 2008 - 13:14:54 EST


On Wed, Aug 20, 2008 at 6:10 PM, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
>
> On Fri, 1 Aug 2008, John Kacur wrote:
>
>> This is a non-critical patch, that makes configuring an rt kernel a
>> little nicer.
>> Comments are welcome of course.
>>
>> Signed-off-by: John Kacur <jkacur at gmail dot com>
>>
>> This patch makes the following changes.
>> 1. Hides the visibility of PREEMPT_SOFTIRQS and PREEMPT_HARDIRQS if PREEMPT_RT
>> (Complete Preemption) is choosen, since these values are then set (selected) to
>> be "y".
>>
>> 2. Changes the PREEMPT_HARDIRQS to depend on PREEMPT_SOFTIRQS instead of
>> forcing PREEMPT_SOFTIRQS to y if PREEMPT_HARDIRQS is choosen. (this is somewhat
>> an abuse of select)
>>
>> 3. Minor spelling fix. (tat to that)
>>
>
>
> Hi John,
>
> Thanks, but instead of this:
>
> depends on PREEMPT_RT != y
>
> could you do:
>
> depends on !PREEMPT_RT
>
>
> -- Steve
>

Yes, regenerated patch attached.

Thanks
Signed-off-by: John Kacur <jkacur at gmail dot com>

This patch makes the following changes.
1. Hides the visibility of PREEMPT_SOFTIRQS and PREEMPT_HARDIRQS if PREEMPT_RT
(Complete Preemption) is choosen, since these values are then set (selected) to
be "y".

2. Changes the PREEMPT_HARDIRQS to depend on PREEMPT_SOFTIRQS instead of
forcing PREEMPT_SOFTIRQS to y if PREEMPT_HARDIRQS is choosen. (this is somewhat
an abuse of select)

3. Minor spelling fix. (tat to that)

Index: linux-2.6.26.2-rt1-jk/kernel/Kconfig.preempt
===================================================================
--- linux-2.6.26.2-rt1-jk.orig/kernel/Kconfig.preempt
+++ linux-2.6.26.2-rt1-jk/kernel/Kconfig.preempt
@@ -88,8 +88,10 @@ config PREEMPT

config PREEMPT_SOFTIRQS
bool "Thread Softirqs"
+# PREEMPT_SOFTIRQS is visible only if !PREEMPT_RT
+# However, PREEMPT_RT will set (select) PREEMPT_SOFTIRQS to y
+ depends on !PREEMPT_RT
default n
-# depends on PREEMPT
help
This option reduces the latency of the kernel by 'threading'
soft interrupts. This means that all softirqs will execute
@@ -104,9 +106,12 @@ config PREEMPT_SOFTIRQS

config PREEMPT_HARDIRQS
bool "Thread Hardirqs"
+# PREEMPT_HARDIRQS is visible only if !PREEMPT_RT
+# However, PREEMPT_RT will set 8select) PREEMPT_HARDIRQS to y
+ depends on !PREEMPT_RT
default n
depends on !GENERIC_HARDIRQS_NO__DO_IRQ
- select PREEMPT_SOFTIRQS
+ depends on PREEMPT_SOFTIRQS
help
This option reduces the latency of the kernel by 'threading'
hardirqs. This means that all (or selected) hardirqs will run
@@ -141,7 +146,7 @@ config PREEMPT_RCU_BOOST
default y if PREEMPT_RT
help
This option permits priority boosting of RCU read-side critical
- sections tat have been preempted and a RT process is waiting
+ sections that have been preempted and a RT process is waiting
on a synchronize_rcu.

An RCU thread is also created that periodically wakes up and