Re: [PATCH 3/3] rcu: Drive configuration directly from SMP andPREEMPT

From: Steven Rostedt
Date: Mon Nov 21 2011 - 11:10:08 EST


On Sat, 2011-11-19 at 13:50 +0100, John Kacur wrote:
> From: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> This commit eliminates the possibility of running TREE_PREEMPT_RCU
> when SMP=n and of running TINY_RCU when PREEMPT=y. People who really
> want these combinations can hand-edit init/Kconfig, but eliminating
> them as choices for production systems reduces the amount of testing
> required. It will also allow cutting out a few #ifdefs.
>
> Note that running TREE_RCU and TINY_RCU on single-CPU systems using
> SMP-built kernels is still supported.

With this patch, I can see the need for the first patch (although
there's things broken even for that), but is this really a stable fix?

This looks more of an added feature than a bug fix. It's a bug fix if we
consider running tree_rcu on UP a bug. Or better stated, will it break
anything if we do that?

-- Steve

>
> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> commit 8008e129dc90ff4f7a56cb033d6bd042afe3ed52 upstream
> Cherry-picked for v3.0-rt and fixed-up merge conflicts
> Note: This makes the depends lines for these options in init/Kconfig for v3.0-rt
> match those for v3.2-rc2-rt3
> Signed-off-by: John Kacur <jkacur@xxxxxxxxxx>
> ---
> init/Kconfig | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/init/Kconfig b/init/Kconfig
> index 89e40a4..5c1147e 100644
> --- a/init/Kconfig
> +++ b/init/Kconfig
> @@ -391,7 +391,7 @@ config TREE_RCU
>
> config TREE_PREEMPT_RCU
> bool "Preemptible tree-based hierarchical RCU"
> - depends on PREEMPT
> + depends on PREEMPT && SMP
> help
> This option selects the RCU implementation that is
> designed for very large SMP systems with hundreds or
> @@ -401,7 +401,7 @@ config TREE_PREEMPT_RCU
>
> config TINY_RCU
> bool "UP-only small-memory-footprint RCU"
> - depends on !SMP && !PREEMPT_RT_FULL
> + depends on !PREEMPT && !SMP
> help
> This option selects the RCU implementation that is
> designed for UP systems from which real-time response
> @@ -410,7 +410,7 @@ config TINY_RCU
>
> config TINY_PREEMPT_RCU
> bool "Preemptible UP-only small-memory-footprint RCU"
> - depends on !SMP && PREEMPT && !PREEMPT_RT_FULL
> + depends on PREEMPT && !SMP
> help
> This option selects the RCU implementation that is designed
> for real-time UP systems. This option greatly reduces the


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/