Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753417AbbLFBpn (ORCPT ); Sat, 5 Dec 2015 20:45:43 -0500 Received: from e35.co.us.ibm.com ([32.97.110.153]:51533 "EHLO e35.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751817AbbLFBpm (ORCPT ); Sat, 5 Dec 2015 20:45:42 -0500 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: paulmck@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org Date: Sat, 5 Dec 2015 17:46:24 -0800 From: "Paul E. McKenney" To: Josh Triplett Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, dvhart@linux.intel.com, fweisbec@gmail.com, oleg@redhat.com, bobby.prani@gmail.com Subject: Re: [PATCH tip/core/rcu 5/8] rcutorture: Print symbolic name for rcu_torture_writer_state Message-ID: <20151206014624.GL28602@linux.vnet.ibm.com> Reply-To: paulmck@linux.vnet.ibm.com References: <20151205002331.GA27249@linux.vnet.ibm.com> <1449275032-28206-5-git-send-email-paulmck@linux.vnet.ibm.com> <20151205010221.GB27128@cloud> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151205010221.GB27128@cloud> User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15120601-0013-0000-0000-00001ACD8DCA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2461 Lines: 76 On Fri, Dec 04, 2015 at 05:02:21PM -0800, Josh Triplett wrote: > On Fri, Dec 04, 2015 at 04:23:49PM -0800, Paul E. McKenney wrote: > > 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 > > --- > > kernel/rcu/rcutorture.c | 24 +++++++++++++++++++++++- > > 1 file changed, 23 insertions(+), 1 deletion(-) > > > > diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c > > index d89328e260df..adbb194e2b5d 100644 > > --- a/kernel/rcu/rcutorture.c > > +++ b/kernel/rcu/rcutorture.c > > @@ -162,6 +162,27 @@ static int rcu_torture_writer_state; > > #define RTWS_SYNC 7 > > #define RTWS_STUTTER 8 > > #define RTWS_STOPPING 9 > > +static char * const rcu_torture_writer_state_names[] = { > > Shouldn't this use "static const char * const"? Also, see below. Can't hurt... > > + "RTWS_FIXED_DELAY", > > + "RTWS_DELAY", > > + "RTWS_REPLACE", > > + "RTWS_DEF_FREE", > > + "RTWS_EXP_SYNC", > > + "RTWS_COND_GET", > > + "RTWS_COND_SYNC", > > + "RTWS_SYNC", > > + "RTWS_STUTTER", > > + "RTWS_STOPPING", > > +}; > > + > > +char *rcu_torture_writer_state_getname(void) > > This should return "const char *", I think. Yes, especially once I had made the earlier change. Also made this function be static while I was at it. Thanx, Paul > > +{ > > + unsigned int i = READ_ONCE(rcu_torture_writer_state); > > + > > + if (i >= ARRAY_SIZE(rcu_torture_writer_state_names)) > > + return "???"; > > + return rcu_torture_writer_state_names[i]; > > +} > > > > #if defined(MODULE) || defined(CONFIG_RCU_TORTURE_TEST_RUNNABLE) > > #define RCUTORTURE_RUNNABLE_INIT 1 > > @@ -1307,7 +1328,8 @@ rcu_torture_stats_print(void) > > > > rcutorture_get_gp_data(cur_ops->ttype, > > &flags, &gpnum, &completed); > > - pr_alert("??? Writer stall state %d g%lu c%lu f%#x\n", > > + pr_alert("??? Writer stall state %s(%d) g%lu c%lu f%#x\n", > > + rcu_torture_writer_state_getname(), > > rcu_torture_writer_state, > > gpnum, completed, flags); > > show_rcu_gp_kthreads(); > > -- > > 2.5.2 > > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/