Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorIngo Molnar <mingo@kernel.org>
Thu, 24 Jan 2013 15:30:45 +0000 (16:30 +0100)
committerIngo Molnar <mingo@kernel.org>
Thu, 24 Jan 2013 15:30:45 +0000 (16:30 +0100)
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

. perf build-id cache now can show DSOs present in a perf.data file that are
  not in the cache, to integrate with build-id servers being put in place by
  organizations such as Fedora.

. perf buildid-list -i an-elf-file-instead-of-a-perf.data is back showing its
  build-id.

. No need to do feature checks when doing a 'make tags'

. Fix some 'perf test' errors and make them use the tracepoint evsel constructor.

. perf top now shares more of the evsel config/creation routines with 'record',
  paving the way for further integration like 'top' snapshots, etc.

. perf top now supports DWARF callchains.

. perf evlist decodes sample_type and read_format, helping diagnose problems.

. Fix mmap limitations on 32-bit, fix from David Miller.

. perf diff fixes from Jiri Olsa.

. Ignore ABS symbols when loading data maps, fix from Namhyung Kim

. Hists improvements from Namhyung Kim

. Don't check configuration on make clean, from Namhyung Kim

. Fix dso__fprintf() print statement, from Stephane Eranian.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1  2 
tools/perf/Makefile

diff --combined tools/perf/Makefile
index 8ab05e543ef406a143e64276d7337d0e348289f4,317766ec070b5201906babcbf3137e2dde53af16..2cbaad83a6e22dde3ccb8f0ec1eda4fb37ddc1a2
@@@ -58,7 -58,7 +58,7 @@@ ARCH ?= $(shell echo $(uname_M) | sed -
                                  -e s/arm.*/arm/ -e s/sa110/arm/ \
                                  -e s/s390x/s390/ -e s/parisc64/parisc/ \
                                  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
 -                                -e s/sh[234].*/sh/ )
 +                                -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
  NO_PERF_REGS := 1
  
  CC = $(CROSS_COMPILE)gcc
@@@ -153,6 -153,8 +153,8 @@@ INSTALL = instal
  # explicitly what architecture to check for. Fix this up for yours..
  SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
  
+ ifneq ($(MAKECMDGOALS),clean)
+ ifneq ($(MAKECMDGOALS),tags)
  -include config/feature-tests.mak
  
  ifeq ($(call try-cc,$(SOURCE_HELLO),$(CFLAGS) -Werror -fstack-protector-all,-fstack-protector-all),y)
@@@ -206,6 -208,8 +208,8 @@@ ifeq ($(call try-cc,$(SOURCE_BIONIC),$(
        EXTLIBS := $(filter-out -lpthread,$(EXTLIBS))
        BASIC_CFLAGS += -I.
  endif
+ endif # MAKECMDGOALS != tags
+ endif # MAKECMDGOALS != clean
  
  # Guard against environment variables
  BUILTIN_OBJS =
@@@ -230,11 -234,19 +234,19 @@@ endi
  LIBTRACEEVENT = $(TE_PATH)libtraceevent.a
  TE_LIB := -L$(TE_PATH) -ltraceevent
  
+ export LIBTRACEEVENT
+ # python extension build directories
+ PYTHON_EXTBUILD     := $(OUTPUT)python_ext_build/
+ PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
+ PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/
+ export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP
+ python-clean := rm -rf $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so
  PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
  PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py
  
- export LIBTRACEEVENT
  $(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS)
        $(QUIET_GEN)CFLAGS='$(BASIC_CFLAGS)' $(PYTHON_WORD) util/setup.py \
          --quiet build_ext; \
@@@ -378,8 -390,11 +390,11 @@@ LIB_H += util/rblist.
  LIB_H += util/intlist.h
  LIB_H += util/perf_regs.h
  LIB_H += util/unwind.h
- LIB_H += ui/helpline.h
  LIB_H += util/vdso.h
+ LIB_H += ui/helpline.h
+ LIB_H += ui/progress.h
+ LIB_H += ui/util.h
+ LIB_H += ui/ui.h
  
  LIB_OBJS += $(OUTPUT)util/abspath.o
  LIB_OBJS += $(OUTPUT)util/alias.o
@@@ -453,6 -468,7 +468,7 @@@ LIB_OBJS += $(OUTPUT)util/stat.
  LIB_OBJS += $(OUTPUT)ui/setup.o
  LIB_OBJS += $(OUTPUT)ui/helpline.o
  LIB_OBJS += $(OUTPUT)ui/progress.o
+ LIB_OBJS += $(OUTPUT)ui/util.o
  LIB_OBJS += $(OUTPUT)ui/hist.o
  LIB_OBJS += $(OUTPUT)ui/stdio/hist.o
  
@@@ -471,7 -487,6 +487,6 @@@ LIB_OBJS += $(OUTPUT)tests/rdpmc.
  LIB_OBJS += $(OUTPUT)tests/evsel-roundtrip-name.o
  LIB_OBJS += $(OUTPUT)tests/evsel-tp-sched.o
  LIB_OBJS += $(OUTPUT)tests/pmu.o
- LIB_OBJS += $(OUTPUT)tests/util.o
  
  BUILTIN_OBJS += $(OUTPUT)builtin-annotate.o
  BUILTIN_OBJS += $(OUTPUT)builtin-bench.o
@@@ -510,6 -525,8 +525,8 @@@ PERFLIBS = $(LIB_FILE) $(LIBTRACEEVENT
  #
  # Platform specific tweaks
  #
+ ifneq ($(MAKECMDGOALS),clean)
+ ifneq ($(MAKECMDGOALS),tags)
  
  # We choose to avoid "if .. else if .. else .. endif endif"
  # because maintaining the nesting to match is a pain.  If
@@@ -646,7 -663,6 +663,6 @@@ ifndef NO_NEW
                LIB_OBJS += $(OUTPUT)ui/browsers/hists.o
                LIB_OBJS += $(OUTPUT)ui/browsers/map.o
                LIB_OBJS += $(OUTPUT)ui/browsers/scripts.o
-               LIB_OBJS += $(OUTPUT)ui/util.o
                LIB_OBJS += $(OUTPUT)ui/tui/setup.o
                LIB_OBJS += $(OUTPUT)ui/tui/util.o
                LIB_OBJS += $(OUTPUT)ui/tui/helpline.o
                LIB_H += ui/browsers/map.h
                LIB_H += ui/keysyms.h
                LIB_H += ui/libslang.h
-               LIB_H += ui/progress.h
-               LIB_H += ui/util.h
-               LIB_H += ui/ui.h
        endif
  endif
  
@@@ -677,10 -690,6 +690,6 @@@ ifndef NO_GTK
                LIB_OBJS += $(OUTPUT)ui/gtk/util.o
                LIB_OBJS += $(OUTPUT)ui/gtk/helpline.o
                LIB_OBJS += $(OUTPUT)ui/gtk/progress.o
-               # Make sure that it'd be included only once.
-               ifeq ($(findstring -DNEWT_SUPPORT,$(BASIC_CFLAGS)),)
-                       LIB_OBJS += $(OUTPUT)ui/util.o
-               endif
        endif
  endif
  
@@@ -707,7 -716,7 +716,7 @@@ disable-python = $(eval $(disable-pytho
  define disable-python_code
    BASIC_CFLAGS += -DNO_LIBPYTHON
    $(if $(1),$(warning No $(1) was found))
-   $(warning Python support won't be built)
+   $(warning Python support will not be built)
  endef
  
  override PYTHON := \
  
  ifndef PYTHON
    $(call disable-python,python interpreter)
-   python-clean :=
  else
  
    PYTHON_WORD := $(call shell-wordify,$(PYTHON))
  
-   # python extension build directories
-   PYTHON_EXTBUILD     := $(OUTPUT)python_ext_build/
-   PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
-   PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/
-   export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP
-   python-clean := rm -rf $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so
    ifdef NO_LIBPYTHON
      $(call disable-python)
    else
@@@ -843,6 -843,9 +843,9 @@@ ifdef ASCIIDOC
        export ASCIIDOC8
  endif
  
+ endif # MAKECMDGOALS != tags
+ endif # MAKECMDGOALS != clean
  # Shell quote (do not use $(call) to accommodate ancient setups);
  
  ETC_PERFCONFIG_SQ = $(subst ','\'',$(ETC_PERFCONFIG))
@@@ -1099,7 -1102,7 +1102,7 @@@ perfexec_instdir = $(prefix)/$(perfexec
  endif
  perfexec_instdir_SQ = $(subst ','\'',$(perfexec_instdir))
  
- install: all try-install-man
+ install-bin: all
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(bindir_SQ)'
        $(INSTALL) $(OUTPUT)perf '$(DESTDIR_SQ)$(bindir_SQ)'
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/scripts/perl/Perf-Trace-Util/lib/Perf/Trace'
        $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'
        $(INSTALL) tests/attr/* '$(DESTDIR_SQ)$(perfexec_instdir_SQ)/tests/attr'
  
+ install: install-bin try-install-man
  install-python_ext:
        $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)'