tree b040bef36217398128147a8e644bc03807fa6feb
parent b5727270ecd807f75a8d5d1450cec39495fc794a
parent e803cf97a4f90d31bcc2c9a1ea20fe9cdc12b2f9
author Ingo Molnar <mingo@kernel.org> 1442994178 +0200
committer Ingo Molnar <mingo@kernel.org> 1442994178 +0200
mergetag object e803cf97a4f90d31bcc2c9a1ea20fe9cdc12b2f9
 type commit
 tag perf-core-for-mingo
 tagger Arnaldo Carvalho de Melo <acme@redhat.com> 1442972948 -0300
 
 perf/core improvements and fixes:
 
 User visible:
 
 - Fix a segfault in 'perf probe' when removing uprobe events (Masami Hiramatsu)
 
 - Synthesize COMM event for workloads started from the command line in 'perf
   record' so that we can have the pid->comm mapping before we get the real
   PERF_RECORD_COMM switching from perf to the workload (Namhyung Kim)
 
 - Fix build tools/vm/ due to removal of tools/lib/api/fs/debugfs.h
   (Arnaldo Carvalho de Melo)
 
 Developer stuff:
 
 - Fix the make tarball targets by including the recently added err.h header in
   the perf MANIFEST file (Jiri Olsa)
 
 - Don't assume that the event parser returns a non empty evlist (Wang Nan)
 
 - Add way to disambiguate feature detection state files, needed to use
   tools/build feature detection for multiple components in a single O= output
   dir, which will be the case with tools/perf/ and tools/lib/bpf/
   (Arnaldo Carvalho de Melo)
 
 - Fixup FEATURE_{TESTS,DISPLAY} inversion in tools/lib/bpf/ (Arnaldo Carvalho de Melo)
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWAgaZAAoJENZQFvNTUqpAsZ0P/AuZ92BE6yHPd8VwEYnREAIn
 PGO3rmW7+dy/rE7pDvKYkHkSAu86VVGCB8Kjbn+7mGssBBNnnC21BwdJQRi3c/If
 Upyl4w7jUB6UooXoAAt4tQqSIZV2fq0esN6ss7D2zpblB6ZBZ/TAC9sNWdDq9Yav
 fU+Wks5AMSQDNmj4l9/q3K5v2U5gUBginHyHKvnrOF6fMAN4ZZRAOlB5viisyt+P
 dRDol95SCnhTaOHoM3Eko7uNlHyWUW7HhXN9N5ZaoXeBn/QI2gwAzBz4snFpJPDm
 1Ua9t6Kx4sCNOcuHMVL4Jy2c/kyRSKWyWnb9PBv//m0HKAJyGp39/XIRkRD1ngQ2
 NXESfP4ljhLvUeU6zL5/q6qyNHvpXLxsi1y/tftGGpPXmLbjHiuPq57gdMyvRyOQ
 UbCGQl8aj/08jEPloCeoXk5cGin5iJA0wZg9JkT2kbSlklTGWYVaphy0Nlgn2Ojn
 S/vOVqpSBNlq2afT4lBicZ91QFl3AIfCWUGutbnaDdvZ/inTRfjBJoLJyvXikSSC
 p+FQDOXxbiUH0POc6A0VfYZWJzvXax9XA8H62EA47CQS4GD+CygmUUOD5Gwro0iX
 v9uXWFootRzvgD5ElG6gg7hgZgO1hqOp1xd+STlyGsYuyKIzu7Nk9GqoXf4vYLIV
 JWoEW0N+kypOx4quwne8
 =6DJ/
 -----END PGP SIGNATURE-----

Merge tag 'perf-core-for-mingo' 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:

  - Fix a segfault in 'perf probe' when removing uprobe events. (Masami Hiramatsu)

  - Synthesize COMM event for workloads started from the command line in 'perf
    record' so that we can have the pid->comm mapping before we get the real
    PERF_RECORD_COMM switching from perf to the workload. (Namhyung Kim)

  - Fix build tools/vm/ due to removal of tools/lib/api/fs/debugfs.h.
    (Arnaldo Carvalho de Melo)

Infrastructure changes:

  - Fix the make tarball targets by including the recently added err.h header in
    the perf MANIFEST file. (Jiri Olsa)

  - Don't assume that the event parser returns a non empty evlist. (Wang Nan)

  - Add way to disambiguate feature detection state files, needed to use
    tools/build feature detection for multiple components in a single O= output
    dir, which will be the case with tools/perf/ and tools/lib/bpf/.
    (Arnaldo Carvalho de Melo)

  - Fixup FEATURE_{TESTS,DISPLAY} inversion in tools/lib/bpf/. (Arnaldo Carvalho de Melo)

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