Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1495168
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 09/22] perf tools: Support CPU id matching for x86 v2 |
| Date | 2016-10-04 04:50 +0200 |
| Message-ID | <sonXQ-4PN-11@gated-at.bofh.it> (permalink) |
| References | <sonO9-4Mz-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Andi Kleen <ak@linux.intel.com>
Implement the code to match CPU types to mapfile types for x86 based on
CPUID. This extends an existing similar function, but changes it to use
the x86 mapfile cpu description. This allows to resolve event lists
generated by jevents.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/1473978296-20712-6-git-send-email-sukadev@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/x86/util/header.c | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/tools/perf/arch/x86/util/header.c b/tools/perf/arch/x86/util/header.c
index 146d12a1cec0..a74a48db26f5 100644
--- a/tools/perf/arch/x86/util/header.c
+++ b/tools/perf/arch/x86/util/header.c
@@ -19,8 +19,8 @@ cpuid(unsigned int op, unsigned int *a, unsigned int *b, unsigned int *c,
: "a" (op));
}
-int
-get_cpuid(char *buffer, size_t sz)
+static int
+__get_cpuid(char *buffer, size_t sz, const char *fmt)
{
unsigned int a, b, c, d, lvl;
int family = -1, model = -1, step = -1;
@@ -48,7 +48,7 @@ get_cpuid(char *buffer, size_t sz)
if (family >= 0x6)
model += ((a >> 16) & 0xf) << 4;
}
- nb = scnprintf(buffer, sz, "%s,%u,%u,%u$", vendor, family, model, step);
+ nb = scnprintf(buffer, sz, fmt, vendor, family, model, step);
/* look for end marker to ensure the entire data fit */
if (strchr(buffer, '$')) {
@@ -57,3 +57,21 @@ get_cpuid(char *buffer, size_t sz)
}
return -1;
}
+
+int
+get_cpuid(char *buffer, size_t sz)
+{
+ return __get_cpuid(buffer, sz, "%s,%u,%u,%u$");
+}
+
+char *
+get_cpuid_str(void)
+{
+ char *buf = malloc(128);
+
+ if (__get_cpuid(buf, 128, "%s-%u-%X$") < 0) {
+ free(buf);
+ return NULL;
+ }
+ return buf;
+}
--
2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[GIT PULL 00/22] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 02/22] perf tools: Experiment with cppcheck Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 01/22] perf probe: Check if *ptr2 is zero and not ptr2 Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 03/22] tools build: Add support for host programs format Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 15/22] perf jevents: Add support for long descriptions Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 04/22] tools build: Make fixdep a hostprog Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:40 +0200 [PATCH 14/22] perf pmu: Add override support for event list CPUID Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 11/22] perf pmu: Support alias descriptions Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 06/22] perf jevents: Program to convert JSON file Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 07/22] perf pmu: Use pmu_events table to create aliases Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 09/22] perf tools: Support CPU id matching for x86 v2 Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 19/22] perf tools: Allow period= in perf stat CPU event descriptions. Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 08/22] perf powerpc: Support CPU ID matching for Powerpc Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 17/22] perf list jevents: Add support for event list topics Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 10/22] perf jevents: Handle header line in mapfile Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 16/22] perf list: Support long jevents descriptions Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 21/22] perf pmu-events: Fix fixed counters on Intel Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 [PATCH 12/22] perf tools: Query terminal width and use in perf list Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-10-04 04:50 +0200 Re: [GIT PULL 00/22] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2016-10-04 10:10 +0200
csiph-web