From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Anju T Sudhakar <anju@linux.vnet.ibm.com>,
Ravi Bangoria <ravi.bangoria@linux.ibm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>,
Madhavan Srinivasan <maddy@linux.vnet.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Peter Zijlstra <peterz@infradead.org>,
linuxppc-dev@lists.ozlabs.org,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 31/31] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc
Date: Fri, 20 Sep 2019 11:25:42 -0300 [thread overview]
Message-ID: <20190920142542.12047-32-acme@kernel.org> (raw)
In-Reply-To: <20190920142542.12047-1-acme@kernel.org>
From: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Use 'trace_imc/trace_cycles' as the default event for 'perf kvm record'
in powerpc.
Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Reviewed-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lore.kernel.org/lkml/20190718181749.30612-3-anju@linux.vnet.ibm.com
[ Add missing pmu.h header, needed because this patch uses pmu_have_event() ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/powerpc/util/kvm-stat.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/tools/perf/arch/powerpc/util/kvm-stat.c b/tools/perf/arch/powerpc/util/kvm-stat.c
index ec5b771029e4..9cc1c4a9dec4 100644
--- a/tools/perf/arch/powerpc/util/kvm-stat.c
+++ b/tools/perf/arch/powerpc/util/kvm-stat.c
@@ -5,6 +5,7 @@
#include "util/debug.h"
#include "util/evsel.h"
#include "util/evlist.h"
+#include "util/pmu.h"
#include "book3s_hv_exits.h"
#include "book3s_hcalls.h"
@@ -177,8 +178,9 @@ int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid __maybe_unused)
/*
* Incase of powerpc architecture, pmu registers are programmable
* by guest kernel. So monitoring guest via host may not provide
- * valid samples. It is better to fail the "perf kvm record"
- * with default "cycles" event to monitor guest in powerpc.
+ * valid samples with default 'cycles' event. It is better to use
+ * 'trace_imc/trace_cycles' event for guest profiling, since it
+ * can track the guest instruction pointer in the trace-record.
*
* Function to parse the arguments and return appropriate values.
*/
@@ -202,8 +204,14 @@ int kvm_add_default_arch_event(int *argc, const char **argv)
parse_options(j, tmp, event_options, NULL, PARSE_OPT_KEEP_UNKNOWN);
if (!event) {
- free(tmp);
- return -EINVAL;
+ if (pmu_have_event("trace_imc", "trace_cycles")) {
+ argv[j++] = strdup("-e");
+ argv[j++] = strdup("trace_imc/trace_cycles/");
+ *argc += 2;
+ } else {
+ free(tmp);
+ return -EINVAL;
+ }
}
free(tmp);
--
2.21.0
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Ravi Bangoria <ravi.bangoria@linux.ibm.com>,
Madhavan Srinivasan <maddy@linux.vnet.ibm.com>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Clark Williams <williams@redhat.com>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Peter Zijlstra <peterz@infradead.org>,
Anju T Sudhakar <anju@linux.vnet.ibm.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Jiri Olsa <jolsa@redhat.com>
Subject: [PATCH 31/31] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc
Date: Fri, 20 Sep 2019 11:25:42 -0300 [thread overview]
Message-ID: <20190920142542.12047-32-acme@kernel.org> (raw)
In-Reply-To: <20190920142542.12047-1-acme@kernel.org>
From: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Use 'trace_imc/trace_cycles' as the default event for 'perf kvm record'
in powerpc.
Signed-off-by: Anju T Sudhakar <anju@linux.vnet.ibm.com>
Reviewed-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lore.kernel.org/lkml/20190718181749.30612-3-anju@linux.vnet.ibm.com
[ Add missing pmu.h header, needed because this patch uses pmu_have_event() ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/powerpc/util/kvm-stat.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/tools/perf/arch/powerpc/util/kvm-stat.c b/tools/perf/arch/powerpc/util/kvm-stat.c
index ec5b771029e4..9cc1c4a9dec4 100644
--- a/tools/perf/arch/powerpc/util/kvm-stat.c
+++ b/tools/perf/arch/powerpc/util/kvm-stat.c
@@ -5,6 +5,7 @@
#include "util/debug.h"
#include "util/evsel.h"
#include "util/evlist.h"
+#include "util/pmu.h"
#include "book3s_hv_exits.h"
#include "book3s_hcalls.h"
@@ -177,8 +178,9 @@ int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid __maybe_unused)
/*
* Incase of powerpc architecture, pmu registers are programmable
* by guest kernel. So monitoring guest via host may not provide
- * valid samples. It is better to fail the "perf kvm record"
- * with default "cycles" event to monitor guest in powerpc.
+ * valid samples with default 'cycles' event. It is better to use
+ * 'trace_imc/trace_cycles' event for guest profiling, since it
+ * can track the guest instruction pointer in the trace-record.
*
* Function to parse the arguments and return appropriate values.
*/
@@ -202,8 +204,14 @@ int kvm_add_default_arch_event(int *argc, const char **argv)
parse_options(j, tmp, event_options, NULL, PARSE_OPT_KEEP_UNKNOWN);
if (!event) {
- free(tmp);
- return -EINVAL;
+ if (pmu_have_event("trace_imc", "trace_cycles")) {
+ argv[j++] = strdup("-e");
+ argv[j++] = strdup("trace_imc/trace_cycles/");
+ *argc += 2;
+ } else {
+ free(tmp);
+ return -EINVAL;
+ }
}
free(tmp);
--
2.21.0
next prev parent reply other threads:[~2019-09-20 14:25 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-20 14:25 [GIT PULL] perf/core improvements and fixes Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 01/31] perf python: Add missing python/perf.so dependency for libperf Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 02/31] perf tests: Add libperf automated test for 'make -C tools/perf build-test' Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 03/31] libperf: Add missing event.h file to install rule Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 04/31] libperf: Adopt perf_cpu_map__max() function Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 05/31] perf jvmti: Link against tools/lib/string.o to have weak strlcpy() Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 06/31] perf tools: Add PMU event JSON files for ARM Cortex-A76 and, Neoverse N1 Arnaldo Carvalho de Melo
2019-09-20 14:25 ` Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 07/31] perf tools: Remove needless builtin.h include directives Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 08/31] perf debug: No need to include ui/util.h Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 09/31] perf tools: Remove debug.h from places where it is not needed Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 10/31] perf tools: Remove util.h from " Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 11/31] perf probe: Add missing build-id.h header Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 12/31] perf symbols: Add missing dso.h header Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 13/31] perf env: Remove needless cpumap.h header Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 14/31] perf event: Move perf_event__synthesize* to event.h Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 15/31] perf stat: Move perf_stat_synthesize_config() " Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 16/31] perf callchain: Remove needless event.h include Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 17/31] perf python: Remove debug.h Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 18/31] perf hist: Add missing 'struct branch_stack' forward declaration Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 19/31] perf annotate: Add missing machine.h include directive Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 20/31] perf sched: Add missing event.h " Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 21/31] perf auxtrace: Add missing 'struct perf_sample' forward declaration Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 22/31] perf tools: Move event synthesizing routines to separate header Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 23/31] perf memswap: Adopt 'struct u64_swap' from evsel.h Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 24/31] perf tools: Move event synthesizing routines to separate .c file Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 25/31] tools lib traceevent: Convert remaining %p[fF] users to %p[sS] Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 26/31] perf stat: Reset previous counts on repeat with interval Arnaldo Carvalho de Melo
[not found] ` <20190921120623.7B67920717@mail.kernel.org>
2019-09-23 16:28 ` Srikar Dronamraju
2019-09-23 17:37 ` Arnaldo Carvalho de Melo
2019-09-24 6:17 ` Srikar Dronamraju
2019-09-20 14:25 ` [PATCH 27/31] perf stat: Fix a segmentation fault when using repeat forever Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 28/31] perf test: Fix spelling mistake "allos" -> "allocate" Arnaldo Carvalho de Melo
2019-09-20 14:25 ` Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 29/31] perf kvm: Move kvm-stat header file from conditional inclusion to common include section Arnaldo Carvalho de Melo
2019-09-20 14:25 ` Arnaldo Carvalho de Melo
2019-09-20 14:25 ` [PATCH 30/31] perf kvm: Add arch neutral function to choose event for perf kvm record Arnaldo Carvalho de Melo
2019-09-20 14:25 ` Arnaldo Carvalho de Melo
2019-09-20 14:25 ` Arnaldo Carvalho de Melo [this message]
2019-09-20 14:25 ` [PATCH 31/31] perf kvm stat: Set 'trace_cycles' as default event for 'perf kvm record' in powerpc Arnaldo Carvalho de Melo
2019-09-20 16:15 ` [GIT PULL] perf/core improvements and fixes Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190920142542.12047-32-acme@kernel.org \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=anju@linux.vnet.ibm.com \
--cc=jolsa@kernel.org \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.vnet.ibm.com \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=ravi.bangoria@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.