From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751659AbdG1BdG (ORCPT ); Thu, 27 Jul 2017 21:33:06 -0400 Received: from smtprelay0019.hostedemail.com ([216.40.44.19]:43242 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751562AbdG1BdF (ORCPT ); Thu, 27 Jul 2017 21:33:05 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:973:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1543:1593:1594:1711:1730:1747:1777:1792:2393:2553:2559:2562:3138:3139:3140:3141:3142:3354:3622:3865:3866:3867:3870:3874:4321:5007:6261:6742:7875:8531:8957:9010:10004:10400:10848:10967:11026:11232:11658:11914:12043:12296:12438:12555:12740:12760:12895:13439:14096:14097:14181:14659:14721:21063:21080:21324:21451:21627:30029:30036:30054:30090:30091,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:2,LUA_SUMMARY:none X-HE-Tag: bone67_54bbe526e2511 X-Filterd-Recvd-Size: 4434 Date: Thu, 27 Jul 2017 21:32:59 -0400 From: Steven Rostedt To: "Paul E. McKenney" Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, dhowells@redhat.com, edumazet@google.com, fweisbec@gmail.com, oleg@redhat.com Subject: Re: [PATCH tip/core/rcu 05/15] rcu: Add TPS() to event-traced strings Message-ID: <20170727213259.0e126cc0@vmware.local.home> In-Reply-To: <1500932684-10469-5-git-send-email-paulmck@linux.vnet.ibm.com> References: <20170724214425.GA9665@linux.vnet.ibm.com> <1500932684-10469-5-git-send-email-paulmck@linux.vnet.ibm.com> X-Mailer: Claws Mail 3.15.0-dirty (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 24 Jul 2017 14:44:34 -0700 "Paul E. McKenney" wrote: > Strings used in event tracing need to be specially handled, for example, > using the TPS() macro. Without the TPS() macro, although output looks > fine from within a running kernel, extracting traces from a crash dump > produces garbage instead of strings. This commit therefore adds the TPS() > macro to some unadorned strings that were passed to event-tracing macros. > > Signed-off-by: Paul E. McKenney > Cc: Steven Rostedt Acked-by: Steven Rostedt (VMware) -- Steve > --- > kernel/rcu/tree_plugin.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h > index bb9e6e43130f..14ba496a13cd 100644 > --- a/kernel/rcu/tree_plugin.h > +++ b/kernel/rcu/tree_plugin.h > @@ -2073,7 +2073,7 @@ static void nocb_leader_wait(struct rcu_data *my_rdp) > > /* Wait for callbacks to appear. */ > if (!rcu_nocb_poll) { > - trace_rcu_nocb_wake(my_rdp->rsp->name, my_rdp->cpu, "Sleep"); > + trace_rcu_nocb_wake(my_rdp->rsp->name, my_rdp->cpu, TPS("Sleep")); > swait_event_interruptible(my_rdp->nocb_wq, > !READ_ONCE(my_rdp->nocb_leader_sleep)); > raw_spin_lock_irqsave(&my_rdp->nocb_lock, flags); > @@ -2083,7 +2083,7 @@ static void nocb_leader_wait(struct rcu_data *my_rdp) > raw_spin_unlock_irqrestore(&my_rdp->nocb_lock, flags); > } else if (firsttime) { > firsttime = false; /* Don't drown trace log with "Poll"! */ > - trace_rcu_nocb_wake(my_rdp->rsp->name, my_rdp->cpu, "Poll"); > + trace_rcu_nocb_wake(my_rdp->rsp->name, my_rdp->cpu, TPS("Poll")); > } > > /* > @@ -2111,7 +2111,7 @@ static void nocb_leader_wait(struct rcu_data *my_rdp) > schedule_timeout_interruptible(1); > } else { > trace_rcu_nocb_wake(my_rdp->rsp->name, my_rdp->cpu, > - "WokeEmpty"); > + TPS("WokeEmpty")); > } > goto wait_again; > } > @@ -2155,7 +2155,7 @@ static void nocb_leader_wait(struct rcu_data *my_rdp) > static void nocb_follower_wait(struct rcu_data *rdp) > { > for (;;) { > - trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, "FollowerSleep"); > + trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, TPS("FollowerSleep")); > swait_event_interruptible(rdp->nocb_wq, > READ_ONCE(rdp->nocb_follower_head)); > if (smp_load_acquire(&rdp->nocb_follower_head)) { > @@ -2163,7 +2163,7 @@ static void nocb_follower_wait(struct rcu_data *rdp) > return; > } > WARN_ON(signal_pending(current)); > - trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, "WokeEmpty"); > + trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, TPS("WokeEmpty")); > } > } > > @@ -2198,7 +2198,7 @@ static int rcu_nocb_kthread(void *arg) > rdp->nocb_follower_tail = &rdp->nocb_follower_head; > raw_spin_unlock_irqrestore(&rdp->nocb_lock, flags); > BUG_ON(!list); > - trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, "WokeNonEmpty"); > + trace_rcu_nocb_wake(rdp->rsp->name, rdp->cpu, TPS("WokeNonEmpty")); > > /* Each pass through the following loop invokes a callback. */ > trace_rcu_batch_start(rdp->rsp->name,