Hi, Resend: Sorry, I missed some last patches...
Here is the 11th version of the patchset for probe-cache and initial SDT support. Here is the previous v10: https://lkml.org/lkml/2016/6/8/318 And v9: https://lkml.org/lkml/2016/5/28/103 This version fixes some bugs and changes codes according to Arnaldo's comments. Changes in v11: - [06/23]: Make probe_cache_entry__delete() to check NULL and do not list_del(). - [06/23]: Rename functions and members and check some return values according to Arnaldo's review. - [07/23]: Check failure of probe_cache operations and warn it. - [09/23]: build_id_cache__list_all() is hardened and returns strlist directly instead of error code. - [10/23]: Fix to check cache is purged and rename remove func to probe_cache__filter_purge(). - [13/23]: Warn if SDT scanning/updating are failed. Thank you, --- Hemant Kumar (1): perf/sdt: ELF support for SDT Masami Hiramatsu (22): perf: util: Fix rm_rf() to handle non-regular files correctly perf-probe: Fix to add NULL check for strndup perf-buildid: Rename and export build_id_cache__cachedir() perf probe: Add perf_probe_event__copy() perf probe: Recover and export synthesize_perf_probe_point() perf probe-file: Introduce perf_cache interfaces perf probe: Add --cache option to cache the probe definitions perf probe: Use cache entry if possible perf probe: Show all cached probes perf probe: Remove caches when --cache is given perf probe: Add group name support perf buildid-cache: Scan and import user SDT events to probe cache perf probe: Accept %sdt and %cached event name perf-list: Show SDT and pre-cached events perf-list: Skip SDTs placed in invalid binaries perf: probe-cache: Add for_each_probe_cache_entry() wrapper perf probe: Allow wildcard for cached events perf probe: Search SDT/cached event from all probe caches perf probe: Support @BUILDID or @FILE suffix for SDT events perf probe: Support a special SDT probe format perf build: Add sdt feature detection perf-test: Add a test case for SDT event tools/build/Makefile.feature | 3 tools/build/feature/Makefile | 6 tools/build/feature/test-all.c | 5 tools/build/feature/test-sdt.c | 7 tools/perf/Documentation/perf-buildid-cache.txt | 3 tools/perf/Documentation/perf-probe.txt | 32 + tools/perf/Makefile.perf | 3 tools/perf/builtin-list.c | 6 tools/perf/builtin-probe.c | 32 + tools/perf/config/Makefile | 10 tools/perf/tests/Build | 1 tools/perf/tests/builtin-test.c | 4 tools/perf/tests/make | 3 tools/perf/tests/sdt.c | 115 +++++ tools/perf/tests/tests.h | 1 tools/perf/util/build-id.c | 224 +++++++++- tools/perf/util/build-id.h | 6 tools/perf/util/parse-events.c | 82 ++++ tools/perf/util/parse-events.h | 2 tools/perf/util/probe-event.c | 492 +++++++++++++++++++-- tools/perf/util/probe-event.h | 6 tools/perf/util/probe-file.c | 529 +++++++++++++++++++++++ tools/perf/util/probe-file.h | 42 ++ tools/perf/util/symbol-elf.c | 252 +++++++++++ tools/perf/util/symbol.h | 22 + tools/perf/util/util.c | 13 - 26 files changed, 1816 insertions(+), 85 deletions(-) create mode 100644 tools/build/feature/test-sdt.c create mode 100644 tools/perf/tests/sdt.c -- Masami Hiramatsu