From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752321AbdGGIJ4 (ORCPT ); Fri, 7 Jul 2017 04:09:56 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58734 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750883AbdGGIJw (ORCPT ); Fri, 7 Jul 2017 04:09:52 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 913DD30EF6A Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jolsa@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 913DD30EF6A Date: Fri, 7 Jul 2017 10:09:43 +0200 From: Jiri Olsa To: Jin Yao , peterz@infradead.org Cc: acme@kernel.org, jolsa@kernel.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, Linux-kernel@vger.kernel.org, ak@linux.intel.com, kan.liang@intel.com, yao.jin@intel.com, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH v6 0/7] perf report: Show branch type Message-ID: <20170707080943.GB3987@krava> References: <1492690075-17243-1-git-send-email-yao.jin@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1492690075-17243-1-git-send-email-yao.jin@linux.intel.com> User-Agent: Mutt/1.8.3 (2017-05-23) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 07 Jul 2017 08:09:46 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 20, 2017 at 08:07:48PM +0800, Jin Yao wrote: > v6: > Update according to the review comments from > Jiri Olsa . Major modifications are: > > 1. Move that multiline conditional code inside {} brackets. > > 2. Move branch_type_stat_display() from builtin-report.c to > branch.c. Move branch_type_str() from callchain.c to > branch.c. > > 3. Keep the original branch info display order, that is: > predicted, abort, cycles, iterations Peter, are you ok with the kernel side of this? thanks, jirka > > v5: > --- > Mainly the v5 patch series are updated according to > comments from Jiri Olsa . > > The kernel part doesn't have functional change. It just > solve the merge issue. > > In userspace, the functions of branch type counting and > branch type name resolving are moved to the new files: > util/branch.c, util/branch.h. > > And refactor the branch info printing code for better > maintenance. > > Not changed (or just fix merge issue): > perf/core: Define the common branch type classification > perf/x86/intel: Record branch type > perf record: Create a new option save_type in --branch-filter > > New patches: > perf report: Refactor the branch info printing code > perf util: Create branch.c/.h for common branch functions > > Changed: > perf report: Show branch type statistics for stdio mode > perf report: Show branch type in callchain entry > > v4: > --- > 1. Describe the major changes in patch description. > Thanks for Peter Zijlstra's reminding. > > 2. Initialize branch type to 0 in intel_pmu_lbr_read_32 and > intel_pmu_lbr_read_64. Remove the invalid else code in > intel_pmu_lbr_filter. > > v3: > --- > 1. Move the JCC forward/backward and cross page computing from > kernel to userspace. > > 2. Use lookup table to replace original switch/case processing. > > Changed: > perf/core: Define the common branch type classification > perf/x86/intel: Record branch type > perf report: Show branch type statistics for stdio mode > perf report: Show branch type in callchain entry > > Not changed: > perf record: Create a new option save_type in --branch-filter > > v2: > --- > 1. Use 4 bits in perf_branch_entry to record branch type. > > 2. Pull out some common branch types from FAR_BRANCH. Now the branch > types defined in perf_event.h: > > Jin Yao (7): > perf/core: Define the common branch type classification > perf/x86/intel: Record branch type > perf record: Create a new option save_type in --branch-filter > perf report: Refactor the branch info printing code > perf util: Create branch.c/.h for common branch functions > perf report: Show branch type statistics for stdio mode > perf report: Show branch type in callchain entry > > arch/x86/events/intel/lbr.c | 53 +++++++++- > include/uapi/linux/perf_event.h | 29 +++++- > tools/include/uapi/linux/perf_event.h | 29 +++++- > tools/perf/Documentation/perf-record.txt | 1 + > tools/perf/builtin-report.c | 25 +++++ > tools/perf/util/Build | 1 + > tools/perf/util/branch.c | 168 +++++++++++++++++++++++++++++++ > tools/perf/util/branch.h | 25 +++++ > tools/perf/util/callchain.c | 140 ++++++++++++++------------ > tools/perf/util/callchain.h | 5 +- > tools/perf/util/event.h | 3 +- > tools/perf/util/hist.c | 5 +- > tools/perf/util/machine.c | 26 +++-- > tools/perf/util/parse-branch-options.c | 1 + > 14 files changed, 427 insertions(+), 84 deletions(-) > create mode 100644 tools/perf/util/branch.c > create mode 100644 tools/perf/util/branch.h > > -- > 2.7.4 >