[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200925205432.1777-1-songliubraving@fb.com>
Date: Fri, 25 Sep 2020 13:54:28 -0700
From: Song Liu <songliubraving@...com>
To: <netdev@...r.kernel.org>, <bpf@...r.kernel.org>
CC: <kernel-team@...com>, <ast@...nel.org>, <daniel@...earbox.net>,
<john.fastabend@...il.com>, <kpsingh@...omium.org>,
Song Liu <songliubraving@...com>
Subject: [PATCH v6 bpf-next 0/3] enable BPF_PROG_TEST_RUN for raw_tp
This set enables BPF_PROG_TEST_RUN for raw_tracepoint type programs. This
set also enables running the raw_tp program on a specific CPU. This feature
can be used by user space to trigger programs that access percpu resources,
e.g. perf_event, percpu variables.
---
Changes v5 => v6:
1. Optimize the selftest. (John, Andrii)
Changes v4 => v5:
1.Fail test_run with non-zero test.cpu but no BPF_F_TEST_RUN_ON_CPU.
(Andrii)
2. Add extra check for invalid test.cpu value. (Andrii)
3. Shuffle bpf_test_run_opts to remove holes. (Andrii)
4. Fixes in selftests. (Andrii)
Changes v3 => v4:
1. Use cpu+flags instead of cpu_plus. (Andrii)
2. Rework libbpf support. (Andrii)
Changes v2 => v3:
1. Fix memory leak in the selftest. (Andrii)
2. Use __u64 instead of unsigned long long. (Andrii)
Changes v1 => v2:
1. More checks for retval in the selftest. (John)
2. Remove unnecessary goto in bpf_prog_test_run_raw_tp. (John)
Song Liu (3):
bpf: enable BPF_PROG_TEST_RUN for raw_tracepoint
libbpf: support test run of raw tracepoint programs
selftests/bpf: add raw_tp_test_run
include/linux/bpf.h | 3 +
include/uapi/linux/bpf.h | 7 ++
kernel/bpf/syscall.c | 2 +-
kernel/trace/bpf_trace.c | 1 +
net/bpf/test_run.c | 91 ++++++++++++++++++
tools/include/uapi/linux/bpf.h | 7 ++
tools/lib/bpf/bpf.c | 31 ++++++
tools/lib/bpf/bpf.h | 26 +++++
tools/lib/bpf/libbpf.map | 1 +
tools/lib/bpf/libbpf_internal.h | 5 +
.../bpf/prog_tests/raw_tp_test_run.c | 96 +++++++++++++++++++
.../bpf/progs/test_raw_tp_test_run.c | 24 +++++
12 files changed, 293 insertions(+), 1 deletion(-)
create mode 100644 tools/testing/selftests/bpf/prog_tests/raw_tp_test_run.c
create mode 100644 tools/testing/selftests/bpf/progs/test_raw_tp_test_run.c
--
2.24.1
Powered by blists - more mailing lists