diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-11-17 16:35:28 -0500 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2015-12-05 20:58:22 -0500 |
commit | 18aff33e7314253b9437234bd6d69ddc4827de70 (patch) | |
tree | 4848353b2ff65620350375cdd4205856f7b8fe63 /kernel/rcu | |
parent | 91bf6a83e5a121c9313ae47156dd47df46ea2aac (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.c | 24 |
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 |
165 | static 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 | |||
178 | static 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(); |