From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751682AbaEESYr (ORCPT ); Mon, 5 May 2014 14:24:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39311 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750930AbaEESYp (ORCPT ); Mon, 5 May 2014 14:24:45 -0400 Date: Mon, 5 May 2014 20:24:33 +0200 From: Jiri Olsa To: Dongsheng Yang Cc: a.p.zijlstra@chello.nl, paulus@samba.org, mingo@redhat.com, acme@kernel.org, linux-kernel@vger.kernel.org, David Ahern Subject: Re: [PATCH 3/3] perf tools: Clarify the output of perf sched map. Message-ID: <20140505182433.GA28367@krava.brq.redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 05, 2014 at 04:05:55PM +0900, Dongsheng Yang wrote: > From: Dongsheng > > In output of perf sched map, any shortname of thread will be explained > at the first time when it appear. > > Example: > *A0 228836.978985 secs A0 => perf:23032 > *. A0 228836.979016 secs B0 => swapper:0 > . *C0 228836.979099 secs C0 => migration/3:22 > *A0 . C0 228836.979115 secs > A0 . *. 228836.979115 secs > > But B0, which is explained as swapper:0 did not appear in the > left part of output. Instead, we use '.' as the shortname of > swapper:0. So the comment of "B0 => swapper:0" is not easy to > understand. > > This patch clarify the output of perf sched map with not allocating > one letter-number shortname for swapper:0 and print ". => swapper:0" > as the explaination for swapper:0. > > Example: > *A0 228836.978985 secs A0 => perf:23032 > * . A0 228836.979016 secs . => swapper:0 > . *B0 228836.979099 secs B0 => migration/3:22 > *A0 . B0 228836.979115 secs > A0 . * . 228836.979115 secs > A0 *C0 . 228836.979225 secs C0 => ksoftirqd/2:18 > A0 *D0 . 228836.979236 secs D0 => rcu_sched:7 I've never used 'perf sched map' before, so I'm not sure about this one.. Arnaldo, David, Ingo? ;-) thanks, jirka > > Signed-off-by: Dongsheng > --- > tools/perf/builtin-sched.c | 35 +++++++++++++++++++---------------- > 1 file changed, 19 insertions(+), 16 deletions(-) > > diff --git a/tools/perf/builtin-sched.c b/tools/perf/builtin-sched.c > index 4f0dd21..c2bf8f2 100644 > --- a/tools/perf/builtin-sched.c > +++ b/tools/perf/builtin-sched.c > @@ -1300,17 +1300,23 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel, > > new_shortname = 0; > if (!sched_in->shortname[0]) { > - sched_in->shortname[0] = sched->next_shortname1; > - sched_in->shortname[1] = sched->next_shortname2; > - > - if (sched->next_shortname1 < 'Z') { > - sched->next_shortname1++; > - } else { > - sched->next_shortname1='A'; > - if (sched->next_shortname2 < '9') { > - sched->next_shortname2++; > + if (!strcmp(thread__comm_str(sched_in), "swapper")) { > + sched_in->shortname[0] = '.'; > + sched_in->shortname[1] = '\0'; > + } > + else { > + sched_in->shortname[0] = sched->next_shortname1; > + sched_in->shortname[1] = sched->next_shortname2; > + > + if (sched->next_shortname1 < 'Z') { > + sched->next_shortname1++; > } else { > - sched->next_shortname2='0'; > + sched->next_shortname1='A'; > + if (sched->next_shortname2 < '9') { > + sched->next_shortname2++; > + } else { > + sched->next_shortname2='0'; > + } > } > } > new_shortname = 1; > @@ -1322,12 +1328,9 @@ static int map_switch_event(struct perf_sched *sched, struct perf_evsel *evsel, > else > printf("*"); > > - if (sched->curr_thread[cpu]) { > - if (sched->curr_thread[cpu]->tid) > - printf("%2s ", sched->curr_thread[cpu]->shortname); > - else > - printf(". "); > - } else > + if (sched->curr_thread[cpu]) > + printf("%2s ", sched->curr_thread[cpu]->shortname); > + else > printf(" "); > } > > -- > 1.8.2.1 >