Currently, the only way to tell whether a given kernel is running Classic, Tiny, or Tree SRCU is to look at the .config file, which can easily be lost or associated with the wrong kernel. This commit therefore has Classic and Tree SRCU identify themselves at boot time.
Signed-off-by: Paul E. McKenney <[email protected]> --- kernel/rcu/srcu.c | 7 +++++++ kernel/rcu/srcutree.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c index 584d8a983883..c0a482d7da08 100644 --- a/kernel/rcu/srcu.c +++ b/kernel/rcu/srcu.c @@ -660,3 +660,10 @@ void process_srcu(struct work_struct *work) srcu_reschedule(sp); } EXPORT_SYMBOL_GPL(process_srcu); + +static int __init srcu_bootup_announce(void) +{ + pr_info("Classic SRCU implementation.\n"); + return 0; +} +early_initcall(srcu_bootup_announce); diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c index 828ee8ef005e..725e5a90f631 100644 --- a/kernel/rcu/srcutree.c +++ b/kernel/rcu/srcutree.c @@ -1168,3 +1168,10 @@ void srcutorture_get_gp_data(enum rcutorture_type test_type, *gpnum = rcu_seq_ctr(sp->srcu_gp_seq_needed); } EXPORT_SYMBOL_GPL(srcutorture_get_gp_data); + +static int __init srcu_bootup_announce(void) +{ + pr_info("Hierarchical SRCU implementation.\n"); + return 0; +} +early_initcall(srcu_bootup_announce); -- 2.5.2

