From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752506AbdFPQRt (ORCPT ); Fri, 16 Jun 2017 12:17:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:47500 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750798AbdFPQRs (ORCPT ); Fri, 16 Jun 2017 12:17:48 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 87FB4214E2 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=acme@kernel.org Date: Fri, 16 Jun 2017 13:17:45 -0300 From: Arnaldo Carvalho de Melo To: Jin Yao Cc: jolsa@kernel.org, peterz@infradead.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 Subject: Re: [PATCH v1 0/2] perf report: Implement visual marker for macro fusion in annotate Message-ID: <20170616161745.GH3645@kernel.org> References: <1497408821-3211-1-git-send-email-yao.jin@linux.intel.com> <20170616161655.GG3645@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170616161655.GG3645@kernel.org> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Fri, Jun 16, 2017 at 01:16:55PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Wed, Jun 14, 2017 at 10:53:39AM +0800, Jin Yao escreveu: > > Macro fusion merges two instructions to a single micro-op. Intel > > core platform performs this hardware optimization under limited > > circumstances. For example, CMP + JCC can be "fused" and executed > > /retired together. While with sampling this can result in the > > sample sometimes being on the JCC and sometimes on the CMP. > > So for the fused instruction pair, they could be considered > > together. > > > > In general, the fused instruction pairs are: > > > > cmp/test/add/sub/and/inc/dec + jcc. > > > > This patch series marks the case clearly by joining the fused > > instruction pair in the arrow of the jump. > > > > For example: > > > > │ ┌──cmpl $0x0,argp_program_version_hook > > 81.93 │ │──je 20 > > │ │ lock cmpxchg %esi,0x38a9a4(%rip) > > │ │↓ jne 29 > > │ │↓ jmp 43 > > 11.47 │20:└─→cmpxch %esi,0x38a999(%rip) > > Try to have these example outputs in the changesets, not just in the > patch series header. Ok, I went trigger happy, sorry, it is in the second patch, I had looked just at the first :-\ - Arnaldo > - Arnaldo > > > Jin Yao (2): > > perf report: Check for fused instruction pair > > perf report: Implement visual marker for macro fusion in annotate > > > > tools/perf/arch/x86/util/Build | 1 + > > tools/perf/arch/x86/util/fused.c | 20 ++++++++++++++++++++ > > tools/perf/ui/browser.c | 27 +++++++++++++++++++++++++++ > > tools/perf/ui/browser.h | 2 ++ > > tools/perf/ui/browsers/annotate.c | 30 ++++++++++++++++++++++++++++++ > > tools/perf/util/Build | 1 + > > tools/perf/util/annotate.c | 5 +++++ > > tools/perf/util/annotate.h | 1 + > > tools/perf/util/fused.c | 11 +++++++++++ > > tools/perf/util/fused.h | 8 ++++++++ > > 10 files changed, 106 insertions(+) > > create mode 100644 tools/perf/arch/x86/util/fused.c > > create mode 100644 tools/perf/util/fused.c > > create mode 100644 tools/perf/util/fused.h > > > > -- > > 2.7.4