Re: [PATCH] kernel: make rcu/tree_trace.c explicitly non-modular

From: Josh Triplett
Date: Tue Aug 25 2015 - 12:29:41 EST


On Tue, Aug 25, 2015 at 11:23:17AM -0400, Paul Gortmaker wrote:
> The Kconfig currently controlling compilation of this code is:
>
> init/Kconfig:config TREE_RCU_TRACE
> init/Kconfig: def_bool RCU_TRACE && ( TREE_RCU || PREEMPT_RCU )
>
> ...meaning that it currently is not being built as a module by anyone.
>
> Lets remove the modular code that is essentially orphaned, so that
> when reading the file there is no doubt it is builtin-only.
>
> Since module_init translates to device_initcall in the non-modular
> case, the init ordering remains unchanged with this commit. We could
> consider moving this to an earlier initcall if desired.
>
> We don't replace module.h with init.h since the file already has that.
> We also delete the moduleparam.h include that is left over from
> commit 64db4cfff99c04cd5f550357edcc8780f96b54a2 (""Tree RCU": scalable
> classic RCU implementation") since it is not needed here either.
>
> We leave some tags like MODULE_AUTHOR for documentation purposes.
>
> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
> Cc: Lai Jiangshan <jiangshanlai@xxxxxxxxx>
> Signed-off-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx>

Seems reasonable, though leaving the MODULE_* metadata commented out at
the end seems odd. I'd suggest using the DESCRIPTION to update the
comment at the top (which is actually outdated and needs
s/classic/hierarchical/), dropping the MODULE_LICENSE (redundant with
the license header), and changing "MODULE_AUTHOR" into an "Author:"
under the copyright.

With that:
Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>

> diff --git a/kernel/rcu/tree_trace.c b/kernel/rcu/tree_trace.c
> index 6fc4c5ff3bb5..e8a0a11e8dd7 100644
> --- a/kernel/rcu/tree_trace.c
> +++ b/kernel/rcu/tree_trace.c
> @@ -33,9 +33,7 @@
> #include <linux/sched.h>
> #include <linux/atomic.h>
> #include <linux/bitops.h>
> -#include <linux/module.h>
> #include <linux/completion.h>
> -#include <linux/moduleparam.h>
> #include <linux/percpu.h>
> #include <linux/notifier.h>
> #include <linux/cpu.h>
> @@ -487,16 +485,10 @@ free_out:
> debugfs_remove_recursive(rcudir);
> return 1;
> }
> +device_initcall(rcutree_trace_init);
>
> -static void __exit rcutree_trace_cleanup(void)
> -{
> - debugfs_remove_recursive(rcudir);
> -}
> -
> -
> -module_init(rcutree_trace_init);
> -module_exit(rcutree_trace_cleanup);
> -
> +/*
> MODULE_AUTHOR("Paul E. McKenney");
> MODULE_DESCRIPTION("Read-Copy Update tracing for hierarchical implementation");
> MODULE_LICENSE("GPL");
> +*/
> --
> 2.5.0
>
--
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/