Hi Ingo,
Please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux-2.6 perf/core
Regards,
- Arnaldo
Arnaldo Carvalho de Melo (8):
perf ui: Shorten ui_browser member names
perf ui: Move ui_helpline routines to separate file in util/ui/
perf ui: Move ui_progress routines to separate file in util/ui/
perf ui: Move annotate browser to util/ui/browsers/
perf ui: Move map browser to util/ui/browsers/
perf ui: Move hists browser to util/ui/browsers/
perf ui: Complete the breakdown of util/newt.c
perf annotate: Sort by hottest lines in the TUI
Dave Martin (1):
perf symbols: Ignore mapping symbols on ARM
tools/perf/Makefile | 25 +-
tools/perf/builtin-annotate.c | 2 +-
tools/perf/util/debug.c | 2 +-
tools/perf/util/debug.h | 9 +-
tools/perf/util/hist.c | 13 +-
tools/perf/util/hist.h | 3 +-
tools/perf/util/newt.c | 1487 --------------------------------
tools/perf/util/pstack.h | 2 +
tools/perf/util/symbol.c | 10 +
tools/perf/util/ui/browser.c | 57 +-
tools/perf/util/ui/browser.h | 7 +-
tools/perf/util/ui/browsers/annotate.c | 191 ++++
tools/perf/util/ui/browsers/hists.c | 946 ++++++++++++++++++++
tools/perf/util/ui/browsers/map.c | 163 ++++
tools/perf/util/ui/browsers/map.h | 6 +
tools/perf/util/ui/helpline.c | 69 ++
tools/perf/util/ui/helpline.h | 10 +
tools/perf/util/ui/libslang.h | 27 +
tools/perf/util/ui/progress.c | 60 ++
tools/perf/util/ui/progress.h | 11 +
tools/perf/util/ui/setup.c | 42 +
tools/perf/util/ui/util.c | 114 +++
tools/perf/util/ui/util.h | 10 +
23 files changed, 1729 insertions(+), 1537 deletions(-)
delete mode 100644 tools/perf/util/newt.c
create mode 100644 ...From: Dave Martin <dave.martin@linaro.org>
ARM ELF files use symbols with special names $a, $t, $d to identify regions of
ARM code, Thumb code and data within code sections. This can cause confusing
output from the perf tools, especially for partially stripped binaries, or
binaries containing user-added zero-sized symbols (which may occur in
hand-written assembler which hasn't been fully annotated with .size
directives).
This patch filters out these symbols at load time.
LKML-Reference: <1281352878-8735-2-git-send-email-dave.martin@linaro.org>
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index b6f5970..1a36773 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1079,6 +1079,16 @@ static int dso__load_sym(struct dso *self, struct map *map, const char *name,
if (!is_label && !elf_sym__is_a(&sym, map->type))
continue;
+ /* Reject ARM ELF "mapping symbols": these aren't unique and
+ * don't identify functions, so will confuse the profile
+ * output: */
+ if (ehdr.e_machine == EM_ARM) {
+ if (!strcmp(elf_name, "$a") ||
+ !strcmp(elf_name, "$d") ||
+ !strcmp(elf_name, "$t"))
+ continue;
+ }
+
if (opdsec && sym.st_shndx == opdidx) {
u32 offset = sym.st_value - opdshdr.sh_addr;
u64 *opd = opddata->d_buf + offset;
--
1.6.2.5
--
From: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> --- tools/perf/Makefile | 5 + tools/perf/util/newt.c | 156 +----------------------------------- tools/perf/util/ui/browsers/map.c | 163 +++++++++++++++++++++++++++++++++++++ tools/perf/util/ui/browsers/map.h | 6 ++ 4 files changed, 175 insertions(+), 155 deletions(-) create mode 100644 tools/perf/util/ui/browsers/map.c create mode 100644 tools/perf/util/ui/browsers/map.h diff --git a/tools/perf/Makefile b/tools/perf/Makefile index ae443b6..d118020 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile @@ -570,9 +570,11 @@ else LIB_OBJS += $(OUTPUT)util/newt.o LIB_OBJS += $(OUTPUT)util/ui/browser.o LIB_OBJS += $(OUTPUT)util/ui/browsers/annotate.o + LIB_OBJS += $(OUTPUT)util/ui/browsers/map.o LIB_OBJS += $(OUTPUT)util/ui/helpline.o LIB_OBJS += $(OUTPUT)util/ui/progress.o LIB_H += util/ui/browser.h + LIB_H += util/ui/browsers/map.h LIB_H += util/ui/helpline.h LIB_H += util/ui/libslang.h LIB_H += util/ui/progress.h @@ -982,6 +984,9 @@ $(OUTPUT)util/ui/browser.o: util/ui/browser.c $(OUTPUT)PERF-CFLAGS $(OUTPUT)util/ui/browsers/annotate.o: util/ui/browsers/annotate.c $(OUTPUT)PERF-CFLAGS $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DENABLE_SLFUTURE_CONST $< +$(OUTPUT)util/ui/browsers/map.o: util/ui/browsers/map.c $(OUTPUT)PERF-CFLAGS + $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DENABLE_SLFUTURE_CONST $< + $(OUTPUT)util/rbtree.o: ../../lib/rbtree.c $(OUTPUT)PERF-CFLAGS $(QUIET_CC)$(CC) -o $@ -c $(ALL_CFLAGS) -DETC_PERFCONFIG='"$(ETC_PERFCONFIG_SQ)"' $< diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c index f188258..b596926 100644 --- a/tools/perf/util/newt.c +++ b/tools/perf/util/newt.c @@ -16,42 +16,10 @@ #include "symbol.h" #include "ui/browser.h" #include "ui/helpline.h" +#include "ui/browsers/map.h" newtComponent ...
From: Arnaldo Carvalho de Melo <acme@redhat.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Makefile | 2 +
tools/perf/util/newt.c | 38 +-----------------------------------
tools/perf/util/ui/helpline.c | 43 +++++++++++++++++++++++++++++++++++++++++
tools/perf/util/ui/helpline.h | 9 ++++++++
4 files changed, 55 insertions(+), 37 deletions(-)
create mode 100644 tools/perf/util/ui/helpline.c
create mode 100644 tools/perf/util/ui/helpline.h
diff --git a/tools/perf/Makefile b/tools/perf/Makefile
index d5bce76..d77a101 100644
--- a/tools/perf/Makefile
+++ b/tools/perf/Makefile
@@ -569,7 +569,9 @@ else
EXTLIBS += -lnewt -lslang
LIB_OBJS += $(OUTPUT)util/newt.o
LIB_OBJS += $(OUTPUT)util/ui/browser.o
+ LIB_OBJS += $(OUTPUT)util/ui/helpline.o
LIB_H += util/ui/browser.h
+ LIB_H += util/ui/helpline.h
endif
endif
diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c
index 9768be3..23f3b7d 100644
--- a/tools/perf/util/newt.c
+++ b/tools/perf/util/newt.c
@@ -24,6 +24,7 @@
#include "sort.h"
#include "symbol.h"
#include "ui/browser.h"
+#include "ui/helpline.h"
#if SLANG_VERSION < 20104
#define slsmg_printf(msg, args...) SLsmg_printf((char *)msg, ##args)
@@ -94,43 +95,6 @@ void ui_progress__delete(struct ui_progress *self)
free(self);
}
-static void ui_helpline__pop(void)
-{
- newtPopHelpLine();
-}
-
-static void ui_helpline__push(const char *msg)
-{
- newtPushHelpLine(msg);
-}
-
-static void ui_helpline__vpush(const char *fmt, va_list ap)
-{
- char *s;
-
- if (vasprintf(&s, fmt, ap) < 0)
- vfprintf(stderr, fmt, ap);
- else {
- ui_helpline__push(s);
- free(s);
- }
-}
-
-static void ui_helpline__fpush(const char *fmt, ...)
-{
- va_list ap;
-
- va_start(ap, fmt);
- ui_helpline__vpush(fmt, ap);
- va_end(ap);
-}
-
-static void ui_helpline__puts(const char ...| Greg KH | Og dreams of kernels |
| Jens Axboe | [PATCH 31/33] Fusion: sg chaining support |
| Arnd Bergmann | Re: finding your own dead "CONFIG_" variables |
| Mark Brown | [PATCH 2/2] Subject: natsemi: Allow users to disable workaround for DspCfg reset |
| Tony Breeds | [LGUEST] Look in object dir for .config |
git: | |
| Brian Downing | Re: Git in a Nutshell guide |
| John Benes | Re: master has some toys |
| Matthias Lederhofer | [PATCH 4/7] introduce GIT_WORK_TREE to specify the work tree |
| Alexander Sulfrian | [RFC/PATCH] RE: git calls SSH_ASKPASS even if DISPLAY is not set |
| Junio C Hamano | Re: Rss produced by git is not valid xml? |
| Linux Kernel Mailing List | iSeries: fix section mismatch in iseries_veth |
| Linux Kernel Mailing List | ixbge: remove TX lock and redo TX accounting. |
| Linux Kernel Mailing List | ixgbe: fix several counter register errata |
| Linux Kernel Mailing List | b43: fix build with CONFIG_SSB_PCIHOST=n |
| Linux Kernel Mailing List | 9p: block-based virtio client |
