linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL 00/17] perf/core improvements and fixes
@ 2016-05-06  0:29 Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue Arnaldo Carvalho de Melo
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-06  0:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Arnaldo Carvalho de Melo, Adrian Hunter,
	Ananth N Mavinakayanahalli, Balbir Singh, David Ahern, Ian Munsie,
	Jiri Olsa, linuxppc-dev, Mark Wielaard, Masami Hiramatsu,
	Michael Ellerman, Milian Wolff, Namhyung Kim, Naveen N . Rao,
	Peter Zijlstra, pi3orama, Thiago Jung Bauermann, Wang Nan,
	Zefan Li, Arnaldo Carvalho de Melo

Hi Ingo,

	Please consider pulling,

- Arnaldo


The following changes since commit 1b6de5917172967acd8db4d222df4225d23a8a60:

  perf/x86/intel/pt: Convert ACCESS_ONCE()s (2016-05-05 10:16:29 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160505

for you to fetch changes up to b6b85dad30ad7e7394990e2317a780577974a4e6:

  perf evlist: Rename variable in perf_mmap__read() (2016-05-05 21:04:04 -0300)

----------------------------------------------------------------
perf/core improvements and fixes:

User visible:

- Order output of 'perf trace --summary' better, now the threads will
  appear ascending order of number of events, and then, for each, in
  descending order of syscalls by the time spent in the syscalls, so
  that the last page produced can be the one about the most interesting
  thread straced, suggested by Milian Wolff (Arnaldo Carvalho de Melo)

- Do not show the runtime_ms for a thread when not collecting it, that
  is done so far only with 'perf trace --sched' (Arnaldo Carvalho de Melo)

- Fix kallsyms perf test on ppc64le (Naveen N. Rao)

Infrastructure:

- Move global variables related to presence of some keys in the sort order to a
  per hist struct, to allow code like the hists browser to work with multiple
  hists with different lists of columns (Jiri Olsa)

- Add support for generating bpf prologue in powerpc (Naveen N. Rao)

- Fix kprobe and kretprobe handling with kallsyms on ppc64le (Naveen N. Rao)

- evlist mmap changes, prep work for supporting reading backwards (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

----------------------------------------------------------------
Arnaldo Carvalho de Melo (5):
      perf machine: Introduce number of threads member
      perf tools: Add template for generating rbtree resort class
      perf trace: Sort summary output by number of events
      perf trace: Sort syscalls stats by msecs in --summary
      perf trace: Do not show the runtime_ms for a thread when not collecting it

Jiri Olsa (7):
      perf hists: Move sort__need_collapse into struct perf_hpp_list
      perf hists: Move sort__has_parent into struct perf_hpp_list
      perf hists: Move sort__has_sym into struct perf_hpp_list
      perf hists: Move sort__has_dso into struct perf_hpp_list
      perf hists: Move sort__has_socket into struct perf_hpp_list
      perf hists: Move sort__has_thread into struct perf_hpp_list
      perf hists: Move sort__has_comm into struct perf_hpp_list

Naveen N. Rao (3):
      perf tools powerpc: Add support for generating bpf prologue
      perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le
      perf symbols: Fix kallsyms perf test on ppc64le

Wang Nan (2):
      perf evlist: Extract perf_mmap__read()
      perf evlist: Rename variable in perf_mmap__read()

 tools/perf/arch/powerpc/Makefile            |   1 +
 tools/perf/arch/powerpc/util/dwarf-regs.c   |  40 +++++---
 tools/perf/arch/powerpc/util/sym-handling.c |  43 ++++++--
 tools/perf/builtin-diff.c                   |   4 +-
 tools/perf/builtin-report.c                 |   4 +-
 tools/perf/builtin-top.c                    |   8 +-
 tools/perf/builtin-trace.c                  |  87 ++++++++++------
 tools/perf/tests/hists_common.c             |   2 +-
 tools/perf/tests/hists_cumulate.c           |   2 +-
 tools/perf/tests/hists_link.c               |   4 +-
 tools/perf/tests/hists_output.c             |   2 +-
 tools/perf/ui/browsers/hists.c              |  32 +++---
 tools/perf/ui/gtk/hists.c                   |   2 +-
 tools/perf/ui/hist.c                        |   2 +-
 tools/perf/util/annotate.c                  |   2 +-
 tools/perf/util/callchain.c                 |   2 +-
 tools/perf/util/evlist.c                    |  56 ++++++-----
 tools/perf/util/hist.c                      |  14 +--
 tools/perf/util/hist.h                      |  10 ++
 tools/perf/util/machine.c                   |   9 +-
 tools/perf/util/machine.h                   |   1 +
 tools/perf/util/probe-event.c               |   5 +-
 tools/perf/util/probe-event.h               |   3 +-
 tools/perf/util/rb_resort.h                 | 149 ++++++++++++++++++++++++++++
 tools/perf/util/sort.c                      |  35 +++----
 tools/perf/util/sort.h                      |   7 --
 tools/perf/util/symbol-elf.c                |   7 +-
 tools/perf/util/symbol.h                    |   3 +-
 28 files changed, 382 insertions(+), 154 deletions(-)
 create mode 100644 tools/perf/util/rb_resort.h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue
  2016-05-06  0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
@ 2016-05-06  0:29 ` Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 14/17] perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le Arnaldo Carvalho de Melo
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-06  0:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Naveen N. Rao, Ian Munsie, Masami Hiramatsu,
	Michael Ellerman, Wang Nan, linuxppc-dev,
	Arnaldo Carvalho de Melo

From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>

Generalize existing macros to serve the purpose.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/1462461799-17518-1-git-send-email-naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/powerpc/Makefile          |  1 +
 tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
 2 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 56e05f126ad8..cc3930904d68 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,4 +3,5 @@ PERF_HAVE_DWARF_REGS := 1
 endif
 
 HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
 PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/util/dwarf-regs.c b/tools/perf/arch/powerpc/util/dwarf-regs.c
index 733151cdf46e..41bdf9530d82 100644
--- a/tools/perf/arch/powerpc/util/dwarf-regs.c
+++ b/tools/perf/arch/powerpc/util/dwarf-regs.c
@@ -10,19 +10,26 @@
  */
 
 #include <stddef.h>
+#include <errno.h>
+#include <string.h>
 #include <dwarf-regs.h>
-
+#include <linux/ptrace.h>
+#include <linux/kernel.h>
+#include "util.h"
 
 struct pt_regs_dwarfnum {
 	const char *name;
 	unsigned int dwarfnum;
+	unsigned int ptregs_offset;
 };
 
-#define STR(s) #s
-#define REG_DWARFNUM_NAME(r, num) {.name = r, .dwarfnum = num}
-#define GPR_DWARFNUM_NAME(num)	\
-	{.name = STR(%gpr##num), .dwarfnum = num}
-#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0}
+#define REG_DWARFNUM_NAME(r, num)					\
+		{.name = STR(%)STR(r), .dwarfnum = num,			\
+		.ptregs_offset = offsetof(struct pt_regs, r)}
+#define GPR_DWARFNUM_NAME(num)						\
+		{.name = STR(%gpr##num), .dwarfnum = num,		\
+		.ptregs_offset = offsetof(struct pt_regs, gpr[num])}
+#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0, .ptregs_offset = 0}
 
 /*
  * Reference:
@@ -61,12 +68,12 @@ static const struct pt_regs_dwarfnum regdwarfnum_table[] = {
 	GPR_DWARFNUM_NAME(29),
 	GPR_DWARFNUM_NAME(30),
 	GPR_DWARFNUM_NAME(31),
-	REG_DWARFNUM_NAME("%msr",   66),
-	REG_DWARFNUM_NAME("%ctr",   109),
-	REG_DWARFNUM_NAME("%link",  108),
-	REG_DWARFNUM_NAME("%xer",   101),
-	REG_DWARFNUM_NAME("%dar",   119),
-	REG_DWARFNUM_NAME("%dsisr", 118),
+	REG_DWARFNUM_NAME(msr,   66),
+	REG_DWARFNUM_NAME(ctr,   109),
+	REG_DWARFNUM_NAME(link,  108),
+	REG_DWARFNUM_NAME(xer,   101),
+	REG_DWARFNUM_NAME(dar,   119),
+	REG_DWARFNUM_NAME(dsisr, 118),
 	REG_DWARFNUM_END,
 };
 
@@ -86,3 +93,12 @@ const char *get_arch_regstr(unsigned int n)
 			return roff->name;
 	return NULL;
 }
+
+int regs_query_register_offset(const char *name)
+{
+	const struct pt_regs_dwarfnum *roff;
+	for (roff = regdwarfnum_table; roff->name != NULL; roff++)
+		if (!strcmp(roff->name, name))
+			return roff->ptregs_offset;
+	return -EINVAL;
+}
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 14/17] perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le
  2016-05-06  0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue Arnaldo Carvalho de Melo
@ 2016-05-06  0:29 ` Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 15/17] perf symbols: Fix kallsyms perf test " Arnaldo Carvalho de Melo
  2016-05-06  6:36 ` [GIT PULL 00/17] perf/core improvements and fixes Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-06  0:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Naveen N. Rao, Mark Wielaard, Masami Hiramatsu,
	Michael Ellerman, Thiago Jung Bauermann, linuxppc-dev,
	Arnaldo Carvalho de Melo

From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>

So far, we used to treat probe point offsets as being offset from the
LEP. However, userspace applications (objdump/readelf) always show
disassembly and offsets from the function GEP. This is confusing to the
user as we will end up probing at an address different from what the
user expects when looking at the function disassembly with
readelf/objdump. Fix this by changing how we modify probe address with
perf.

If only the function name is provided, we assume the user needs the LEP.
Otherwise, if an offset is specified, we assume that the user knows the
exact address to probe based on function disassembly, and so we just
place the probe from the GEP offset.

Finally, kretprobe was also broken with kallsyms as we were trying to
specify an offset. This patch also fixes that issue.

Reported-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Cc: Mark Wielaard <mjw@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/75df860aad8216bf4b9bcd10c6351ecc0e3dee54.1460451721.git.naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/powerpc/util/sym-handling.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
index bbc1a50768dd..6974ba0fa065 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -71,12 +71,21 @@ void arch__fix_tev_from_maps(struct perf_probe_event *pev,
 			     struct probe_trace_event *tev, struct map *map)
 {
 	/*
-	 * ppc64 ABIv2 local entry point is currently always 2 instructions
-	 * (8 bytes) after the global entry point.
+	 * When probing at a function entry point, we normally always want the
+	 * LEP since that catches calls to the function through both the GEP and
+	 * the LEP. Hence, we would like to probe at an offset of 8 bytes if
+	 * the user only specified the function entry.
+	 *
+	 * However, if the user specifies an offset, we fall back to using the
+	 * GEP since all userspace applications (objdump/readelf) show function
+	 * disassembly with offsets from the GEP.
+	 *
+	 * In addition, we shouldn't specify an offset for kretprobes.
 	 */
-	if (!pev->uprobes && map->dso->symtab_type == DSO_BINARY_TYPE__KALLSYMS) {
-		tev->point.address += PPC64LE_LEP_OFFSET;
+	if (pev->point.offset || pev->point.retprobe || !map)
+		return;
+
+	if (map->dso->symtab_type == DSO_BINARY_TYPE__KALLSYMS)
 		tev->point.offset += PPC64LE_LEP_OFFSET;
-	}
 }
 #endif
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 15/17] perf symbols: Fix kallsyms perf test on ppc64le
  2016-05-06  0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue Arnaldo Carvalho de Melo
  2016-05-06  0:29 ` [PATCH 14/17] perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le Arnaldo Carvalho de Melo
@ 2016-05-06  0:29 ` Arnaldo Carvalho de Melo
  2016-05-06  6:36 ` [GIT PULL 00/17] perf/core improvements and fixes Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-06  0:29 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: linux-kernel, Naveen N. Rao, Mark Wielaard, Masami Hiramatsu,
	Thiago Jung Bauermann, linuxppc-dev, Arnaldo Carvalho de Melo

From: "Naveen N. Rao" <naveen.n.rao@linux.vnet.ibm.com>

ppc64le functions have a Global Entry Point (GEP) and a Local Entry
Point (LEP). While placing a probe, we always prefer the LEP since it
catches function calls through both the GEP and the LEP. In order to do
this, we fixup the function entry points during elf symbol table lookup
to point to the LEPs. This works, but breaks 'perf test kallsyms' since
the symbols loaded from the symbol table (pointing to the LEP) do not
match the symbols in kallsyms.

To fix this, we do not adjust all the symbols during symbol table load.
Instead, we note down st_other in a newly introduced arch-specific
member of perf symbol structure, and later use this to adjust the probe
trace point.

Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Acked-by: Balbir Singh <bsingharora@gmail.com>
Cc: Mark Wielaard <mjw@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/6be7c2b17e370100c2f79dd444509df7929bdd3e.1460451721.git.naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/powerpc/util/sym-handling.c | 28 ++++++++++++++++++++--------
 tools/perf/util/probe-event.c               |  5 +++--
 tools/perf/util/probe-event.h               |  3 ++-
 tools/perf/util/symbol-elf.c                |  7 ++++---
 tools/perf/util/symbol.h                    |  3 ++-
 5 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/tools/perf/arch/powerpc/util/sym-handling.c b/tools/perf/arch/powerpc/util/sym-handling.c
index 6974ba0fa065..c6d0f91731a1 100644
--- a/tools/perf/arch/powerpc/util/sym-handling.c
+++ b/tools/perf/arch/powerpc/util/sym-handling.c
@@ -19,12 +19,6 @@ bool elf__needs_adjust_symbols(GElf_Ehdr ehdr)
 	       ehdr.e_type == ET_DYN;
 }
 
-#if defined(_CALL_ELF) && _CALL_ELF == 2
-void arch__elf_sym_adjust(GElf_Sym *sym)
-{
-	sym->st_value += PPC64_LOCAL_ENTRY_OFFSET(sym->st_other);
-}
-#endif
 #endif
 
 #if !defined(_CALL_ELF) || _CALL_ELF != 2
@@ -65,11 +59,21 @@ bool arch__prefers_symtab(void)
 	return true;
 }
 
+#ifdef HAVE_LIBELF_SUPPORT
+void arch__sym_update(struct symbol *s, GElf_Sym *sym)
+{
+	s->arch_sym = sym->st_other;
+}
+#endif
+
 #define PPC64LE_LEP_OFFSET	8
 
 void arch__fix_tev_from_maps(struct perf_probe_event *pev,
-			     struct probe_trace_event *tev, struct map *map)
+			     struct probe_trace_event *tev, struct map *map,
+			     struct symbol *sym)
 {
+	int lep_offset;
+
 	/*
 	 * When probing at a function entry point, we normally always want the
 	 * LEP since that catches calls to the function through both the GEP and
@@ -82,10 +86,18 @@ void arch__fix_tev_from_maps(struct perf_probe_event *pev,
 	 *
 	 * In addition, we shouldn't specify an offset for kretprobes.
 	 */
-	if (pev->point.offset || pev->point.retprobe || !map)
+	if (pev->point.offset || pev->point.retprobe || !map || !sym)
 		return;
 
+	lep_offset = PPC64_LOCAL_ENTRY_OFFSET(sym->arch_sym);
+
 	if (map->dso->symtab_type == DSO_BINARY_TYPE__KALLSYMS)
 		tev->point.offset += PPC64LE_LEP_OFFSET;
+	else if (lep_offset) {
+		if (pev->uprobes)
+			tev->point.address += lep_offset;
+		else
+			tev->point.offset += lep_offset;
+	}
 }
 #endif
diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
index 85d82f4dc5e9..c82c625395ab 100644
--- a/tools/perf/util/probe-event.c
+++ b/tools/perf/util/probe-event.c
@@ -2477,7 +2477,8 @@ static int find_probe_functions(struct map *map, char *name,
 
 void __weak arch__fix_tev_from_maps(struct perf_probe_event *pev __maybe_unused,
 				struct probe_trace_event *tev __maybe_unused,
-				struct map *map __maybe_unused) { }
+				struct map *map __maybe_unused,
+				struct symbol *sym __maybe_unused) { }
 
 /*
  * Find probe function addresses from map.
@@ -2614,7 +2615,7 @@ static int find_probe_trace_events_from_map(struct perf_probe_event *pev,
 					strdup_or_goto(pev->args[i].type,
 							nomem_out);
 		}
-		arch__fix_tev_from_maps(pev, tev, map);
+		arch__fix_tev_from_maps(pev, tev, map, sym);
 	}
 	if (ret == skipped) {
 		ret = -ENOENT;
diff --git a/tools/perf/util/probe-event.h b/tools/perf/util/probe-event.h
index e2209623f981..5a27eb4fad05 100644
--- a/tools/perf/util/probe-event.h
+++ b/tools/perf/util/probe-event.h
@@ -154,7 +154,8 @@ int show_available_vars(struct perf_probe_event *pevs, int npevs,
 int show_available_funcs(const char *module, struct strfilter *filter, bool user);
 bool arch__prefers_symtab(void);
 void arch__fix_tev_from_maps(struct perf_probe_event *pev,
-			     struct probe_trace_event *tev, struct map *map);
+			     struct probe_trace_event *tev, struct map *map,
+			     struct symbol *sym);
 
 /* If there is no space to write, returns -E2BIG. */
 int e_snprintf(char *str, size_t size, const char *format, ...)
diff --git a/tools/perf/util/symbol-elf.c b/tools/perf/util/symbol-elf.c
index 3f9d6798bd18..87a297dd8901 100644
--- a/tools/perf/util/symbol-elf.c
+++ b/tools/perf/util/symbol-elf.c
@@ -770,7 +770,8 @@ static bool want_demangle(bool is_kernel_sym)
 	return is_kernel_sym ? symbol_conf.demangle_kernel : symbol_conf.demangle;
 }
 
-void __weak arch__elf_sym_adjust(GElf_Sym *sym __maybe_unused) { }
+void __weak arch__sym_update(struct symbol *s __maybe_unused,
+		GElf_Sym *sym __maybe_unused) { }
 
 int dso__load_sym(struct dso *dso, struct map *map,
 		  struct symsrc *syms_ss, struct symsrc *runtime_ss,
@@ -947,8 +948,6 @@ int dso__load_sym(struct dso *dso, struct map *map,
 		    (sym.st_value & 1))
 			--sym.st_value;
 
-		arch__elf_sym_adjust(&sym);
-
 		if (dso->kernel || kmodule) {
 			char dso_name[PATH_MAX];
 
@@ -1082,6 +1081,8 @@ new_symbol:
 		if (!f)
 			goto out_elf_end;
 
+		arch__sym_update(f, &sym);
+
 		if (filter && filter(curr_map, f))
 			symbol__delete(f);
 		else {
diff --git a/tools/perf/util/symbol.h b/tools/perf/util/symbol.h
index c8e43979ed5c..07211c2f8456 100644
--- a/tools/perf/util/symbol.h
+++ b/tools/perf/util/symbol.h
@@ -55,6 +55,7 @@ struct symbol {
 	u16		namelen;
 	u8		binding;
 	bool		ignore;
+	u8		arch_sym;
 	char		name[0];
 };
 
@@ -323,7 +324,7 @@ int setup_intlist(struct intlist **list, const char *list_str,
 
 #ifdef HAVE_LIBELF_SUPPORT
 bool elf__needs_adjust_symbols(GElf_Ehdr ehdr);
-void arch__elf_sym_adjust(GElf_Sym *sym);
+void arch__sym_update(struct symbol *s, GElf_Sym *sym);
 #endif
 
 #define SYMBOL_A 0
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [GIT PULL 00/17] perf/core improvements and fixes
  2016-05-06  0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
                   ` (2 preceding siblings ...)
  2016-05-06  0:29 ` [PATCH 15/17] perf symbols: Fix kallsyms perf test " Arnaldo Carvalho de Melo
@ 2016-05-06  6:36 ` Ingo Molnar
  3 siblings, 0 replies; 5+ messages in thread
From: Ingo Molnar @ 2016-05-06  6:36 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: linux-kernel, Adrian Hunter, Ananth N Mavinakayanahalli,
	Balbir Singh, David Ahern, Ian Munsie, Jiri Olsa, linuxppc-dev,
	Mark Wielaard, Masami Hiramatsu, Michael Ellerman, Milian Wolff,
	Namhyung Kim, Naveen N . Rao, Peter Zijlstra, pi3orama,
	Thiago Jung Bauermann, Wang Nan, Zefan Li,
	Arnaldo Carvalho de Melo


* Arnaldo Carvalho de Melo <acme@kernel.org> wrote:

> Hi Ingo,
> 
> 	Please consider pulling,
> 
> - Arnaldo
> 
> 
> The following changes since commit 1b6de5917172967acd8db4d222df4225d23a8a60:
> 
>   perf/x86/intel/pt: Convert ACCESS_ONCE()s (2016-05-05 10:16:29 +0200)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tags/perf-core-for-mingo-20160505
> 
> for you to fetch changes up to b6b85dad30ad7e7394990e2317a780577974a4e6:
> 
>   perf evlist: Rename variable in perf_mmap__read() (2016-05-05 21:04:04 -0300)
> 
> ----------------------------------------------------------------
> perf/core improvements and fixes:
> 
> User visible:
> 
> - Order output of 'perf trace --summary' better, now the threads will
>   appear ascending order of number of events, and then, for each, in
>   descending order of syscalls by the time spent in the syscalls, so
>   that the last page produced can be the one about the most interesting
>   thread straced, suggested by Milian Wolff (Arnaldo Carvalho de Melo)
> 
> - Do not show the runtime_ms for a thread when not collecting it, that
>   is done so far only with 'perf trace --sched' (Arnaldo Carvalho de Melo)
> 
> - Fix kallsyms perf test on ppc64le (Naveen N. Rao)
> 
> Infrastructure:
> 
> - Move global variables related to presence of some keys in the sort order to a
>   per hist struct, to allow code like the hists browser to work with multiple
>   hists with different lists of columns (Jiri Olsa)
> 
> - Add support for generating bpf prologue in powerpc (Naveen N. Rao)
> 
> - Fix kprobe and kretprobe handling with kallsyms on ppc64le (Naveen N. Rao)
> 
> - evlist mmap changes, prep work for supporting reading backwards (Wang Nan)
> 
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> 
> ----------------------------------------------------------------
> Arnaldo Carvalho de Melo (5):
>       perf machine: Introduce number of threads member
>       perf tools: Add template for generating rbtree resort class
>       perf trace: Sort summary output by number of events
>       perf trace: Sort syscalls stats by msecs in --summary
>       perf trace: Do not show the runtime_ms for a thread when not collecting it
> 
> Jiri Olsa (7):
>       perf hists: Move sort__need_collapse into struct perf_hpp_list
>       perf hists: Move sort__has_parent into struct perf_hpp_list
>       perf hists: Move sort__has_sym into struct perf_hpp_list
>       perf hists: Move sort__has_dso into struct perf_hpp_list
>       perf hists: Move sort__has_socket into struct perf_hpp_list
>       perf hists: Move sort__has_thread into struct perf_hpp_list
>       perf hists: Move sort__has_comm into struct perf_hpp_list
> 
> Naveen N. Rao (3):
>       perf tools powerpc: Add support for generating bpf prologue
>       perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le
>       perf symbols: Fix kallsyms perf test on ppc64le
> 
> Wang Nan (2):
>       perf evlist: Extract perf_mmap__read()
>       perf evlist: Rename variable in perf_mmap__read()
> 
>  tools/perf/arch/powerpc/Makefile            |   1 +
>  tools/perf/arch/powerpc/util/dwarf-regs.c   |  40 +++++---
>  tools/perf/arch/powerpc/util/sym-handling.c |  43 ++++++--
>  tools/perf/builtin-diff.c                   |   4 +-
>  tools/perf/builtin-report.c                 |   4 +-
>  tools/perf/builtin-top.c                    |   8 +-
>  tools/perf/builtin-trace.c                  |  87 ++++++++++------
>  tools/perf/tests/hists_common.c             |   2 +-
>  tools/perf/tests/hists_cumulate.c           |   2 +-
>  tools/perf/tests/hists_link.c               |   4 +-
>  tools/perf/tests/hists_output.c             |   2 +-
>  tools/perf/ui/browsers/hists.c              |  32 +++---
>  tools/perf/ui/gtk/hists.c                   |   2 +-
>  tools/perf/ui/hist.c                        |   2 +-
>  tools/perf/util/annotate.c                  |   2 +-
>  tools/perf/util/callchain.c                 |   2 +-
>  tools/perf/util/evlist.c                    |  56 ++++++-----
>  tools/perf/util/hist.c                      |  14 +--
>  tools/perf/util/hist.h                      |  10 ++
>  tools/perf/util/machine.c                   |   9 +-
>  tools/perf/util/machine.h                   |   1 +
>  tools/perf/util/probe-event.c               |   5 +-
>  tools/perf/util/probe-event.h               |   3 +-
>  tools/perf/util/rb_resort.h                 | 149 ++++++++++++++++++++++++++++
>  tools/perf/util/sort.c                      |  35 +++----
>  tools/perf/util/sort.h                      |   7 --
>  tools/perf/util/symbol-elf.c                |   7 +-
>  tools/perf/util/symbol.h                    |   3 +-
>  28 files changed, 382 insertions(+), 154 deletions(-)
>  create mode 100644 tools/perf/util/rb_resort.h

Pulled, thanks a lot Arnaldo!

	Ingo

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-05-06  6:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-06  0:29 [GIT PULL 00/17] perf/core improvements and fixes Arnaldo Carvalho de Melo
2016-05-06  0:29 ` [PATCH 06/17] perf tools powerpc: Add support for generating bpf prologue Arnaldo Carvalho de Melo
2016-05-06  0:29 ` [PATCH 14/17] perf powerpc: Fix kprobe and kretprobe handling with kallsyms on ppc64le Arnaldo Carvalho de Melo
2016-05-06  0:29 ` [PATCH 15/17] perf symbols: Fix kallsyms perf test " Arnaldo Carvalho de Melo
2016-05-06  6:36 ` [GIT PULL 00/17] perf/core improvements and fixes Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).