File Index
Files and directories
Sign in
FILE

bpf-event.h

File preview with syntax highlighting.

linux-6.19.14/tools/perf/util/bpf-event.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef __PERF_BPF_EVENT_H
 3#define __PERF_BPF_EVENT_H
 4
 5#include <linux/compiler.h>
 6#include <linux/rbtree.h>
 7#include <api/fd/array.h>
 8#include <stdio.h>
 9
10struct bpf_prog_info;
11struct machine;
12union perf_event;
13struct perf_env;
14struct perf_sample;
15struct perf_session;
16struct record_opts;
17struct evlist;
18struct target;
19
20struct bpf_metadata {
21	union perf_event *event;
22	char		 **prog_names;
23	__u64		 nr_prog_names;
24};
25
26struct bpf_prog_info_node {
27	struct perf_bpil		*info_linear;
28	struct bpf_metadata		*metadata;
29	struct rb_node			rb_node;
30};
31
32struct btf_node {
33	struct rb_node	rb_node;
34	u32		id;
35	u32		data_size;
36	char		data[];
37};
38
39#ifdef HAVE_LIBBPF_SUPPORT
40int machine__process_bpf(struct machine *machine, union perf_event *event,
41			 struct perf_sample *sample);
42int evlist__add_bpf_sb_event(struct evlist *evlist, struct perf_env *env);
43void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info,
44				      struct perf_env *env,
45				      FILE *fp);
46void bpf_metadata_free(struct bpf_metadata *metadata);
47#else
48static inline int machine__process_bpf(struct machine *machine __maybe_unused,
49				       union perf_event *event __maybe_unused,
50				       struct perf_sample *sample __maybe_unused)
51{
52	return 0;
53}
54
55static inline int evlist__add_bpf_sb_event(struct evlist *evlist __maybe_unused,
56					   struct perf_env *env __maybe_unused)
57{
58	return 0;
59}
60
61static inline void __bpf_event__print_bpf_prog_info(struct bpf_prog_info *info __maybe_unused,
62						    struct perf_env *env __maybe_unused,
63						    FILE *fp __maybe_unused)
64{
65
66}
67
68static inline void bpf_metadata_free(struct bpf_metadata *metadata __maybe_unused)
69{
70
71}
72#endif // HAVE_LIBBPF_SUPPORT
73#endif
~/ Read-only file preview.