Skip to contentSkip to conversation

perf bpf: Move perf_event_output() from stdio.h to bpf.h

tip:perf/core tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Dec 20, 2018 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  61d007138a44dc69265cf948eadd1759edbd3875
Gitweb:     https://git.kernel.org/tip/61d007138a44dc69265cf948eadd1759edbd3875
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Wed, 12 Dec 2018 15:31:28 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 18 Dec 2018 12:23:58 -0300

perf bpf: Move perf_event_output() from stdio.h to bpf.h

So that we don't always carry that __bpf_output__ map, leaving that to the scripts wanting to use that facility.

'perf trace' will be changed to look if that map is present and only setup the bpf-output events if so.

---
 tools/perf/include/bpf/bpf.h   | 2 ++
 tools/perf/include/bpf/stdio.h | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)
tools/perf/include/bpf/bpf.h +2 -0
index bd5d7b4d7760..e667577207dc 100644
@@ -55,4 +55,6 @@ int _version SEC("version") = LINUX_VERSION_CODE;
 static int (*probe_read)(void *dst, int size, const void *unsafe_addr) = (void *)BPF_FUNC_probe_read;
 static int (*probe_read_str)(void *dst, int size, const void *unsafe_addr) = (void *)BPF_FUNC_probe_read_str;
 
+static int (*perf_event_output)(void *, struct bpf_map *, int, void *, unsigned long) = (void *)BPF_FUNC_perf_event_output;
+
 #endif /* _PERF_BPF_H */
tools/perf/include/bpf/stdio.h +0 -3
index 2899cb7bfed8..316af5b2ff35 100644
@@ -9,9 +9,6 @@ struct bpf_map SEC("maps") __bpf_stdout__ = {
        .max_entries = __NR_CPUS__,
 };
 
-static int (*perf_event_output)(void *, struct bpf_map *, int, void *, unsigned long) =
-	(void *)BPF_FUNC_perf_event_output;
-
 #define puts(from) \
 	({ const int __len = sizeof(from); \
 	   char __from[__len] = from; \