Song Liu
2979455ad3
BACKPORT: perf, bpf: Introduce PERF_RECORD_BPF_EVENT
...
For better performance analysis of BPF programs, this patch introduces
PERF_RECORD_BPF_EVENT, a new perf_event_type that exposes BPF program
load/unload information to user space.
Each BPF program may contain up to BPF_MAX_SUBPROGS (256) sub programs.
The following example shows kernel symbols for a BPF program with 7 sub
programs:
ffffffffa0257cf9 t bpf_prog_b07ccb89267cf242_F
ffffffffa02592e1 t bpf_prog_2dcecc18072623fc_F
ffffffffa025b0e9 t bpf_prog_bb7a405ebaec5d5c_F
ffffffffa025dd2c t bpf_prog_a7540d4a39ec1fc7_F
ffffffffa025fcca t bpf_prog_05762d4ade0e3737_F
ffffffffa026108f t bpf_prog_db4bd11e35df90d4_F
ffffffffa0263f00 t bpf_prog_89d64e4abf0f0126_F
ffffffffa0257cf9 t bpf_prog_ae31629322c4b018__dummy_tracepoi
When a bpf program is loaded, PERF_RECORD_KSYMBOL is generated for each
of these sub programs. Therefore, PERF_RECORD_BPF_EVENT is not needed
for simple profiling.
For annotation, user space need to listen to PERF_RECORD_BPF_EVENT and
gather more information about these (sub) programs via sys_bpf.
Change-Id: I8ed02f808501c32f406108c282c853a56d0dcc25
Signed-off-by: Song Liu <songliubraving@fb.com >
Reviewed-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Acked-by: Alexei Starovoitov <ast@kernel.org >
Acked-by: Peter Zijlstra (Intel) <peterz@infradeaed.org >
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com >
Cc: Daniel Borkmann <daniel@iogearbox.net >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: kernel-team@fb.com
Cc: netdev@vger.kernel.org
Link: http://lkml.kernel.org/r/20190117161521.1341602-4-songliubraving@fb.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com >
2025-10-02 22:15:38 +08:00
..
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2022-06-25 11:46:26 +02:00
2023-01-18 09:26:05 +01:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2022-03-16 12:57:07 +01:00
2024-10-11 16:00:11 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2022-09-05 10:25:03 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:13:41 +08:00
2023-05-30 12:38:38 +01:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-09-27 22:38:56 +08:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:45 +08:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2022-10-26 13:17:05 +02:00
2025-10-02 22:13:55 +08:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2025-10-02 22:13:20 +08:00
2024-10-24 10:07:36 +00:00
2022-11-10 15:47:24 +01:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2025-10-02 22:13:55 +08:00
2025-10-02 22:13:01 +08:00
2025-10-02 22:15:38 +08:00
2025-10-02 22:15:08 +08:00
2025-10-02 22:15:35 +08:00
2025-10-02 22:15:34 +08:00
2025-10-02 22:15:38 +08:00
2025-10-02 22:14:38 +08:00
2024-10-11 16:00:11 +02:00
2025-09-27 22:38:33 +08:00
2021-11-12 14:28:23 +01:00
2025-10-02 22:14:52 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:44 +08:00
2024-08-08 15:52:22 +00:00
2025-10-02 22:15:08 +08:00
2025-10-02 22:15:08 +08:00
2025-10-02 22:15:00 +08:00
2021-11-26 11:40:24 +01:00
2022-11-10 15:47:24 +01:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:12:36 +08:00
2024-10-11 16:00:11 +02:00
2025-09-29 21:58:19 +08:00
2025-09-17 16:57:48 +08:00
2022-05-25 08:41:22 +02:00
2024-03-08 08:21:36 +00:00
2024-05-13 18:30:34 +02:00
2022-10-26 13:17:04 +02:00
2022-11-10 15:47:23 +01:00
2021-10-27 09:51:40 +02:00
2025-10-02 22:12:45 +08:00
2024-06-03 12:29:50 +00:00
2023-01-18 09:26:11 +01:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-10-24 10:07:41 +00:00
2024-10-11 16:00:11 +02:00
2025-10-02 22:15:38 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:58 +08:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2023-04-21 13:29:20 +00:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:55 +08:00
2024-04-16 10:30:30 +00:00
2024-05-13 18:30:34 +02:00
2025-09-27 22:38:54 +08:00
2025-09-27 21:11:32 +08:00
2025-09-27 21:15:44 +08:00
2022-06-25 11:46:35 +02:00
2024-10-10 10:27:20 +00:00
2024-08-23 16:50:05 +00:00
2023-09-23 10:47:01 +02:00
2023-10-10 21:43:38 +02:00
2023-03-11 16:26:46 +01:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:33:56 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2022-10-26 13:17:08 +02:00
2021-12-08 08:46:53 +01:00
2024-10-11 16:00:11 +02:00
2025-02-07 11:45:57 +00:00
2025-10-02 22:14:14 +08:00
2023-03-11 16:26:36 +01:00
2025-10-02 22:14:34 +08:00
2022-07-02 16:18:11 +02:00
2022-08-25 11:11:25 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:12:45 +08:00
2022-07-06 18:53:52 -07:00
2025-10-02 22:14:56 +08:00
2022-08-25 11:11:29 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-06 14:36:40 +00:00
2025-10-02 22:14:45 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:15:00 +08:00
2025-10-02 22:14:14 +08:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2023-10-25 11:13:30 +02:00
2021-10-09 14:09:45 +02:00
2024-10-11 16:00:11 +02:00
2024-10-11 16:00:11 +02:00
2025-09-27 21:11:32 +08:00
2025-10-02 22:14:55 +08:00
2025-10-02 22:14:54 +08:00
2024-10-11 16:00:11 +02:00
2024-10-11 16:00:11 +02:00
2025-10-02 22:14:29 +08:00
2025-09-29 21:58:19 +08:00
2024-05-13 18:30:34 +02:00
2021-08-26 08:37:04 -04:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:45 +08:00
2024-04-16 10:30:28 +00:00
2024-10-11 16:00:11 +02:00
2025-10-02 22:14:50 +08:00
2023-06-21 15:38:58 +02:00
2024-05-13 18:30:34 +02:00
2022-04-20 09:08:28 +02:00
2023-09-23 10:46:53 +02:00
2024-10-11 16:00:11 +02:00
2022-06-14 16:54:01 +02:00
2023-02-25 11:50:31 +01:00
2024-05-13 18:30:34 +02:00
2024-08-08 15:52:20 +00:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2023-01-18 09:26:04 +01:00
2024-10-11 16:00:11 +02:00
2024-10-24 10:07:36 +00:00
2025-10-02 22:14:54 +08:00
2025-09-27 21:11:32 +08:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2025-09-29 21:58:19 +08:00
2025-10-02 22:15:38 +08:00
2024-05-13 18:30:34 +02:00
2023-11-08 11:21:07 +01:00
2024-05-13 18:30:34 +02:00
2024-05-06 14:36:37 +00:00
2024-05-13 18:30:34 +02:00
2024-04-16 10:30:27 +00:00
2024-05-13 18:30:34 +02:00
2022-06-25 11:46:39 +02:00
2023-05-17 11:11:51 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:12:00 +08:00
2024-05-13 18:30:34 +02:00
2022-06-13 16:44:58 +00:00
2025-09-29 21:59:33 +08:00
2025-10-02 22:14:58 +08:00
2022-06-14 16:53:43 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2023-08-30 16:35:16 +02:00
2023-02-25 11:50:31 +01:00
2022-07-02 16:18:08 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:02 +08:00
2025-10-02 22:15:07 +08:00
2025-10-02 22:15:11 +08:00
2025-10-02 22:15:11 +08:00
2025-10-02 22:15:11 +08:00
2024-10-30 14:08:25 +00:00
2024-05-13 18:30:34 +02:00
2025-09-27 21:11:32 +08:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-09-27 22:41:09 +08:00
2025-09-17 16:58:06 +08:00
2025-10-02 22:15:37 +08:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:14 +08:00
2023-08-11 11:33:46 +02:00
2025-09-29 21:58:19 +08:00
2025-10-02 22:14:42 +08:00
2023-03-22 13:26:16 +01:00
2021-12-08 08:46:53 +01:00
2025-09-27 22:38:34 +08:00
2022-06-25 11:46:39 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:15:36 +08:00
2025-10-02 22:15:31 +08:00
2025-10-02 22:14:45 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:58 +08:00
2025-10-02 22:15:32 +08:00
2024-05-13 18:33:56 +02:00
2024-05-13 18:30:34 +02:00
2025-09-27 21:11:32 +08:00
2024-05-13 18:30:34 +02:00
2025-09-29 21:58:19 +08:00
2025-10-02 22:14:51 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:15:29 +08:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:14:57 +08:00
2025-10-02 22:14:57 +08:00
2025-10-02 22:14:56 +08:00
2025-10-02 22:14:58 +08:00
2025-10-02 22:14:57 +08:00
2025-10-02 22:14:58 +08:00
2024-05-13 18:30:34 +02:00
2023-01-18 09:26:09 +01:00
2022-06-25 11:46:38 +02:00
2025-10-02 22:14:11 +08:00
2025-10-02 22:14:29 +08:00
2025-10-02 22:14:42 +08:00
2025-10-02 22:14:41 +08:00
2022-07-29 17:06:53 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2025-10-02 22:15:37 +08:00
2024-03-06 11:04:02 +00:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00
2025-09-27 22:38:53 +08:00
2024-05-13 18:30:34 +02:00
2022-03-16 12:57:09 +01:00
2025-10-02 22:15:36 +08:00
2022-03-16 12:57:09 +01:00
2025-09-27 21:11:31 +08:00
2025-10-02 22:14:42 +08:00
2024-05-13 18:30:34 +02:00
2023-05-17 11:11:43 +02:00
2024-05-13 18:30:34 +02:00
2024-05-13 18:30:34 +02:00
2023-08-11 11:33:43 +02:00
2024-10-11 16:00:11 +02:00
2024-05-13 18:30:34 +02:00