Merge tag 'perf-core-for-mingo-3' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorIngo Molnar <mingo@kernel.org>
Wed, 6 May 2015 02:42:12 +0000 (04:42 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 6 May 2015 02:42:12 +0000 (04:42 +0200)
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

User visible changes:

  - Improve --filter support for 'perf probe', allowing using its arguments
    on other commands, as --add, --del, etc (Masami Hiramatsu)

  - Show warning when running 'perf kmem stat' on a unsuitable perf.data file,
    i.e. one with events that are not the ones required for the stat variant
    used (Namhyung Kim).

Infrastructure changes:

  - Auxtrace support patches, paving the way to support Intel PT and BTS (Adrian Hunter)

  - hists browser (top, report) refactorings (Namhyung Kim)

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

diff --combined Makefile
+++ b/Makefile
@@@ -1,7 -1,7 +1,7 @@@
  VERSION = 4
 -PATCHLEVEL = 0
 +PATCHLEVEL = 1
  SUBLEVEL = 0
 -EXTRAVERSION = -rc6
 +EXTRAVERSION = -rc2
  NAME = Hurr durr I'ma sheep
  
  # *DOCUMENTATION*
  # Comments in this file are targeted only to the developer, do not
  # expect to learn how to build the kernel reading this file.
  
 -# Do not use make's built-in rules and variables
 -# (this increases performance and avoids hard-to-debug behaviour);
 -MAKEFLAGS += -rR
 +# o Do not use make's built-in rules and variables
 +#   (this increases performance and avoids hard-to-debug behaviour);
 +# o Look for make include files relative to root of kernel src
 +MAKEFLAGS += -rR --include-dir=$(CURDIR)
  
  # Avoid funny character set dependencies
  unexport LC_ALL
@@@ -215,7 -214,6 +215,6 @@@ VPATH              := $(srctree)$(if $(KBUILD_EXTMO
  
  export srctree objtree VPATH
  
  # SUBARCH tells the usermode build what the underlying arch is.  That is set
  # first, and if a usermode build is happening, the "ARCH=um" on the command
  # line overrides the setting of ARCH below.  If a native build is happening,
@@@ -345,9 -343,12 +344,9 @@@ endi
  export COMPILER
  endif
  
 -# Look for make include files relative to root of kernel src
 -MAKEFLAGS += --include-dir=$(srctree)
 -
  # We need some generic definitions (do not try to remake the file).
 -$(srctree)/scripts/Kbuild.include: ;
 -include $(srctree)/scripts/Kbuild.include
 +scripts/Kbuild.include: ;
 +include scripts/Kbuild.include
  
  # Make variables (CC, etc...)
  AS            = $(CROSS_COMPILE)as
@@@ -531,7 -532,7 +530,7 @@@ ifeq ($(config-targets),1
  # Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
  # KBUILD_DEFCONFIG may point out an alternative default configuration
  # used for 'make defconfig'
 -include $(srctree)/arch/$(SRCARCH)/Makefile
 +include arch/$(SRCARCH)/Makefile
  export KBUILD_DEFCONFIG KBUILD_KCONFIG
  
  config: scripts_basic outputmakefile FORCE
@@@ -607,7 -608,7 +606,7 @@@ endif # $(dot-config
  # Defaults to vmlinux, but the arch makefile usually adds further targets
  all: vmlinux
  
 -include $(srctree)/arch/$(SRCARCH)/Makefile
 +include arch/$(SRCARCH)/Makefile
  
  KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
  
@@@ -777,11 -778,10 +776,11 @@@ KBUILD_ARFLAGS := $(call ar-option,D
  # check for 'asm goto'
  ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y)
        KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
 +      KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
  endif
  
 -include $(srctree)/scripts/Makefile.kasan
 -include $(srctree)/scripts/Makefile.extrawarn
 +include scripts/Makefile.kasan
 +include scripts/Makefile.extrawarn
  
  # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
  KBUILD_CPPFLAGS += $(KCPPFLAGS)
@@@ -1024,6 -1024,12 +1023,6 @@@ headerdep
        $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
        $(srctree)/scripts/headerdep.pl -I$(srctree)/include
  
 -# ---------------------------------------------------------------------------
 -
 -PHONY += depend dep
 -depend dep:
 -      @echo '*** Warning: make $@ is unnecessary now.'
 -
  # ---------------------------------------------------------------------------
  # Firmware install
  INSTALL_FW_PATH=$(INSTALL_MOD_PATH)/lib/firmware
@@@ -1497,11 -1503,11 +1496,11 @@@ image_name
  # Clear a bunch of variables before executing the submake
  tools/: FORCE
        $(Q)mkdir -p $(objtree)/tools
-       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/
+       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/
  
  tools/%: FORCE
        $(Q)mkdir -p $(objtree)/tools
-       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(objtree) subdir=tools -C $(src)/tools/ $*
+       $(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/ $*
  
  # Single targets
  # ---------------------------------------------------------------------------
@@@ -1387,7 -1387,7 +1387,7 @@@ static int event_read_fields(struct eve
                        do_warning_event(event, "%s: no type found", __func__);
                        goto fail;
                }
-               field->name = last_token;
+               field->name = field->alias = last_token;
  
                if (test_type(type, EVENT_OP))
                        goto fail;
                                size_dynamic = type_size(field->name);
                                free_token(field->name);
                                strcat(field->type, brackets);
-                               field->name = token;
+                               field->name = field->alias = token;
                                type = read_token(&token);
                        } else {
                                char *new_type;
@@@ -4086,7 -4086,7 +4086,7 @@@ static struct print_arg *make_bprint_ar
        if (asprintf(&arg->atom.atom, "%lld", ip) < 0)
                goto out_free;
  
 -      /* skip the first "%pf: " */
 +      /* skip the first "%ps: " */
        for (ptr = fmt + 5, bptr = data + field->offset;
             bptr < data + size && *ptr; ptr++) {
                int ls = 0;
@@@ -6444,6 -6444,8 +6444,8 @@@ void pevent_ref(struct pevent *pevent
  void pevent_free_format_field(struct format_field *field)
  {
        free(field->type);
+       if (field->alias != field->name)
+               free(field->alias);
        free(field->name);
        free(field);
  }