From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756366AbbIYNSx (ORCPT ); Fri, 25 Sep 2015 09:18:53 -0400 Received: from mga03.intel.com ([134.134.136.65]:34815 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756270AbbIYNSt (ORCPT ); Fri, 25 Sep 2015 09:18:49 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,587,1437462000"; d="scan'208";a="812816985" From: Adrian Hunter To: Arnaldo Carvalho de Melo Cc: Jiri Olsa , linux-kernel@vger.kernel.org Subject: [PATCH 00/25] perf tools: minor improvements to Intel PT related stuff Date: Fri, 25 Sep 2015 16:15:31 +0300 Message-Id: <1443186956-18718-1-git-send-email-adrian.hunter@intel.com> X-Mailer: git-send-email 1.9.1 Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Here are some minor improvements to Intel PT related stuff. First 3 patches are minor fixes: perf auxtrace: Fix 'instructions' period of zero perf report: Fix sample type validation for synthesized callchains perf intel-pt: Fix potential loop forever Next 4 are minor improvements: perf intel-pt: Make logging slightly more efficient perf script: Allow time to be displayed in nanoseconds perf tools: Warn when AUX data has been lost perf tools: Add more documentation to export-to-postgresql.py script Next 7 add support for branch stacks: perf auxtrace: Add option to synthesize branch stacks on samples perf report: Adjust sample type validation for synthesized branch stacks perf report: Also do default setup for synthesized branch stacks perf report: Skip events with null branch stacks perf inject: Set branch stack feature flag when synthesizing branch stacks perf intel-pt: Move branch filter logic perf intel-pt: Support generating branch stack Next 6 allow for arbitrary-sized call stacks: perf report: Make max_stack value allow for synthesized callchains perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf script: Add a setting for maximum stack depth perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf script: Make scripting_max_stack value allow for synthesized callchains Final 5 let Intel PT be used with autofdo: perf tools: Add perf_evlist__id2evsel_strict() perf tools: Add perf_evlist__del() perf inject: Remove more aux-related stuff when processing instruction traces perf inject: Add --strip option to strip out non-synthesized events perf intel-pt: Add mispred-all config option to aid use with autofdo Adrian Hunter (25): perf auxtrace: Fix 'instructions' period of zero perf report: Fix sample type validation for synthesized callchains perf intel-pt: Fix potential loop forever perf intel-pt: Make logging slightly more efficient perf script: Allow time to be displayed in nanoseconds perf tools: Warn when AUX data has been lost perf tools: Add more documentation to export-to-postgresql.py script perf auxtrace: Add option to synthesize branch stacks on samples perf report: Adjust sample type validation for synthesized branch stacks perf report: Also do default setup for synthesized branch stacks perf report: Skip events with null branch stacks perf inject: Set branch stack feature flag when synthesizing branch stacks perf intel-pt: Move branch filter logic perf intel-pt: Support generating branch stack perf report: Make max_stack value allow for synthesized callchains perf hists: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf callchain: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf script: Add a setting for maximum stack depth perf scripting python: Allow for max_stack greater than PERF_MAX_STACK_DEPTH perf script: Make scripting_max_stack value allow for synthesized callchains perf tools: Add perf_evlist__id2evsel_strict() perf tools: Add perf_evlist__del() perf inject: Remove more aux-related stuff when processing instruction traces perf inject: Add --strip option to strip out non-synthesized events perf intel-pt: Add mispred-all config option to aid use with autofdo tools/perf/Documentation/intel-pt.txt | 39 ++++ tools/perf/Documentation/itrace.txt | 4 + tools/perf/Documentation/perf-inject.txt | 3 + tools/perf/Documentation/perf-script.txt | 3 + tools/perf/builtin-inject.c | 125 +++++++++++- tools/perf/builtin-report.c | 31 ++- tools/perf/builtin-script.c | 18 +- tools/perf/scripts/python/export-to-postgresql.py | 221 +++++++++++++++++++++ tools/perf/util/auxtrace.c | 24 ++- tools/perf/util/auxtrace.h | 4 + tools/perf/util/event.h | 1 + tools/perf/util/evlist.c | 23 +++ tools/perf/util/evlist.h | 3 + tools/perf/util/hist.c | 6 +- tools/perf/util/hist.h | 1 + .../perf/util/intel-pt-decoder/intel-pt-decoder.c | 4 +- tools/perf/util/intel-pt-decoder/intel-pt-log.c | 21 +- tools/perf/util/intel-pt-decoder/intel-pt-log.h | 38 +++- tools/perf/util/intel-pt.c | 135 ++++++++++++- tools/perf/util/machine.c | 2 +- .../util/scripting-engines/trace-event-python.c | 2 +- tools/perf/util/session.c | 12 +- tools/perf/util/trace-event.h | 2 + 23 files changed, 686 insertions(+), 36 deletions(-) Regards Adrian