tree c602be51e23b2a82ec695791f55a389c79c5fe59
parent 9dff0aa95a324e262ffb03f425d00e4751f3294e
parent 8f2f350cbdb2c2fbff654cb778139144b48a59ba
author Ingo Molnar <mingo@kernel.org> 1549714425 +0100
committer Ingo Molnar <mingo@kernel.org> 1549714425 +0100
mergetag object 8f2f350cbdb2c2fbff654cb778139144b48a59ba
 type commit
 tag perf-urgent-for-mingo-5.0-20190205
 tagger Arnaldo Carvalho de Melo <acme@redhat.com> 1549379058 -0300
 
 perf/urgent fixes:
 
 perf trace:
 
   Arnaldo Carvalho de Melo:
 
     Fix handling of probe:vfs_getname when the probed routine is
     inlined in multiple places, fixing the collection of the 'filename'
     parameter in open syscalls.
 
 perf test:
 
   Gustavo A. R. Silva:
 
     Fix bitwise operator usage in evsel-tp-sched test, which made tat
     test always detect fields as signed.
 
   Jiri Olsa:
 
     Filter out hidden symbols from labels, added in systems where the
     annobin plugin is used, such as RHEL8, which, if left in place make
     the DWARF unwind 'perf test' to fail on PPC.
 
   Tony Jones:
 
     Fix 'perf_event_attr' tests when building with python3.
 
 perf mem/c2c:
 
   Ravi Bangoria:
 
     Fix perf_mem_events on PowerPC.
 
 tools headers UAPI:
 
   Arnaldo Carvalho de Melo:
 
     Sync linux/in.h copy from the kernel sources, silencing a perf build warning.
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQR2GiIUctdOfX2qHhGyPKLppCJ+JwUCXFml/gAKCRCyPKLppCJ+
 J5OJAP9PsD/IdlOmp5qpxgFB8JywLt6fpMLHndgGZYQIQDeNOQEA3fZTrXP30vlD
 lSOjEnzFT9c9i+57ugYuEmhd7uYrcgw=
 =n0xs
 -----END PGP SIGNATURE-----

Merge tag 'perf-urgent-for-mingo-5.0-20190205' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent

Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

perf trace:

  Arnaldo Carvalho de Melo:

    Fix handling of probe:vfs_getname when the probed routine is
    inlined in multiple places, fixing the collection of the 'filename'
    parameter in open syscalls.

perf test:

  Gustavo A. R. Silva:

    Fix bitwise operator usage in evsel-tp-sched test, which made tat
    test always detect fields as signed.

  Jiri Olsa:

    Filter out hidden symbols from labels, added in systems where the
    annobin plugin is used, such as RHEL8, which, if left in place make
    the DWARF unwind 'perf test' to fail on PPC.

  Tony Jones:

    Fix 'perf_event_attr' tests when building with python3.

perf mem/c2c:

  Ravi Bangoria:

    Fix perf_mem_events on PowerPC.

tools headers UAPI:

  Arnaldo Carvalho de Melo:

    Sync linux/in.h copy from the kernel sources, silencing a perf build warning.

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