aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-11-17 16:35:28 -0500
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-12-05 20:58:22 -0500
commit18aff33e7314253b9437234bd6d69ddc4827de70 (patch)
tree4848353b2ff65620350375cdd4205856f7b8fe63 /kernel/rcu
parent91bf6a83e5a121c9313ae47156dd47df46ea2aac (diff)
rcutorture: Print symbolic name for rcu_torture_writer_state
Currently, rcu_torture_writer_state is printed as an integer, which slows debugging. This commit therefore prints a symbolic name in addition to the integer. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> [ paulmck: More "const", as suggested by Josh Triplett. ] Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'kernel/rcu')
-rw-r--r--kernel/rcu/rcutorture.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index d89328e260df..d2988d047d66 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -162,6 +162,27 @@ static int rcu_torture_writer_state;
162#define RTWS_SYNC 7 162#define RTWS_SYNC 7
163#define RTWS_STUTTER 8 163#define RTWS_STUTTER 8
164#define RTWS_STOPPING 9 164#define RTWS_STOPPING 9
165static const char * const rcu_torture_writer_state_names[] = {
166 "RTWS_FIXED_DELAY",
167 "RTWS_DELAY",
168 "RTWS_REPLACE",
169 "RTWS_DEF_FREE",
170 "RTWS_EXP_SYNC",
171 "RTWS_COND_GET",
172 "RTWS_COND_SYNC",
173 "RTWS_SYNC",
174 "RTWS_STUTTER",
175 "RTWS_STOPPING",
176};
177
178static const char *rcu_torture_writer_state_getname(void)
179{
180 unsigned int i = READ_ONCE(rcu_torture_writer_state);
181
182 if (i >= ARRAY_SIZE(rcu_torture_writer_state_names))
183 return "???";
184 return rcu_torture_writer_state_names[i];
185}
165 186
166#if defined(MODULE) || defined(CONFIG_RCU_TORTURE_TEST_RUNNABLE) 187#if defined(MODULE) || defined(CONFIG_RCU_TORTURE_TEST_RUNNABLE)
167#define RCUTORTURE_RUNNABLE_INIT 1 188#define RCUTORTURE_RUNNABLE_INIT 1
@@ -1307,7 +1328,8 @@ rcu_torture_stats_print(void)
1307 1328
1308 rcutorture_get_gp_data(cur_ops->ttype, 1329 rcutorture_get_gp_data(cur_ops->ttype,
1309 &flags, &gpnum, &completed); 1330 &flags, &gpnum, &completed);
1310 pr_alert("??? Writer stall state %d g%lu c%lu f%#x\n", 1331 pr_alert("??? Writer stall state %s(%d) g%lu c%lu f%#x\n",
1332 rcu_torture_writer_state_getname(),
1311 rcu_torture_writer_state, 1333 rcu_torture_writer_state,
1312 gpnum, completed, flags); 1334 gpnum, completed, flags);
1313 show_rcu_gp_kthreads(); 1335 show_rcu_gp_kthreads();