tree d679538c1fa9111ba5d604ad5ef016176c71f278
parent 6b652de2b27c0a4020ce0e8f277e782b6af76096
parent d18019a53a07e009899ff6b8dc5ec30f249360d9
author Ingo Molnar <mingo@kernel.org> 1475168998 +0200
committer Ingo Molnar <mingo@kernel.org> 1475168998 +0200
mergetag object d18019a53a07e009899ff6b8dc5ec30f249360d9
 type commit
 tag perf-core-for-mingo-20160929
 tagger Arnaldo Carvalho de Melo <acme@redhat.com> 1475158794 -0300
 
 perf/core improvements and fixes:
 
 User visible:
 -------------
 
 New features:
 
 - Add support for using symbols in address filters with Intel PT and ARM
   CoreSight (hardware assisted tracing facilities) (Adrian Hunter, Mathieu Poirier)
 
 Fixes:
 
 - Fix MMAP event synthesis for pre-existing threads when no hugetlbfs
   mount is in place (Adrian Hunter)
 
 - Don't ignore kernel idle symbols in 'perf script' (Adrian Hunter)
 
 - Assorted Intel PT fixes (Adrian Hunter)
 
 Improvements:
 
 - Fix handling of C++ symbols in 'perf probe' (Masami Hiramatsu)
 
 - Beautify sched_[gs]et_attr return value in 'perf trace' (Arnaldo Carvalho de Melo)
 
 Infrastructure:
 ---------------
 
 New features:
 
 - Add dwarf unwind 'perf test' for powerpc (Ravi Bangoria)
 
 Fixes:
 
 - Fix error paths in 'perf record' (Adrian Hunter)
 
 Documentation:
 
 - Update documentation info about quipper, a C++ parser for converting
   to/from perf.data/chromium profiling format (Simon Que)
 
 Build Fixes:
 
   Fix building in 32 bit platform with libbabeltrace (Wang Nan)
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJX7SNKAAoJENZQFvNTUqpAozcP/1HBFsdA2w7cqx2NbeBVo0Fa
 c6oirKVFix9IHvYRuxaOt6+MRFaUFhKR5mdeK+9Vg6gcVaQGSTR54dA6uecHUVhw
 ezf224ZdHgN3cc+wm4skwjLjJN4CtgW3VORIkyUZm71VFLkb6IpxHa1s7TigYcRf
 aSFdHHzVW+uN0c5kdG98kYgdP30i3V2+TXCOqxeeoODAlSuXVg8uB0Op6jUMW+n0
 l/K/5xLVGNjlBpB7468EiHyNLzrmuCTwzjZ1g5yYI7PkM+SDRZ7DAz/erZ0dz0GM
 I9s9bVgkBhSriV2cq0BaXdtUW+oJmQQbgA+4R8xMb5RxwIDqjLA+k8hLpYrvSdUv
 Fry0jtmrAPMM31jr0k2dmTJ/zruCbKaoU+rmPhcOmn1odJTadTdcYwfUPczZzD20
 IHdDAux+kY8C94+obJGijjqeHtM9A9ciCWAr3577DQASkMHsvR/Gnit3lUyFSwiU
 NLamIq+XhKPEX9KnqXGqSYm77VKHQjfyAm1GsN+kJLkz74F1n5IEnypoIO7RqLdn
 wToFtp3rS5Fp9Xy+JLSQgcXlDsyZeFCexbu5JB7SYDi5bXwfdgqoO7+8eKiOlOim
 nBZlcUIkymTkRpYM0b1PDtbGxVE2ajrZH204XTOQ39cyxNfpnd7JQl2b/laVZ6Vb
 IC28njgLUddVzqnUCpw8
 =FBd2
 -----END PGP SIGNATURE-----

Merge tag 'perf-core-for-mingo-20160929' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

User visible changes:
---------------------

New features:

- Add support for using symbols in address filters with Intel PT and ARM
  CoreSight (hardware assisted tracing facilities) (Adrian Hunter, Mathieu Poirier)

Fixes:

- Fix MMAP event synthesis for pre-existing threads when no hugetlbfs
  mount is in place (Adrian Hunter)

- Don't ignore kernel idle symbols in 'perf script' (Adrian Hunter)

- Assorted Intel PT fixes (Adrian Hunter)

Improvements:

- Fix handling of C++ symbols in 'perf probe' (Masami Hiramatsu)

- Beautify sched_[gs]et_attr return value in 'perf trace' (Arnaldo Carvalho de Melo)

Infrastructure changes:
-----------------------

New features:

- Add dwarf unwind 'perf test' for powerpc (Ravi Bangoria)

Fixes:

- Fix error paths in 'perf record' (Adrian Hunter)

Documentation:

- Update documentation info about quipper, a C++ parser for converting
  to/from perf.data/chromium profiling format (Simon Que)

Build Fixes:

  Fix building in 32 bit platform with libbabeltrace (Wang Nan)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
