Message ID | 20230630083344.984305-23-jolsa@kernel.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | BPF |
Headers | show |
Series | bpf: Add multi uprobe link | expand |
On Fri, Jun 30, 2023 at 1:38 AM Jiri Olsa <jolsa@kernel.org> wrote: > > Adding usdt_multi test program that defines 50k usdts and will > serve as attach point for uprobe_multi usdt bench test in > following patch. > > Signed-off-by: Jiri Olsa <jolsa@kernel.org> > --- > tools/testing/selftests/bpf/Makefile | 5 +++++ > tools/testing/selftests/bpf/usdt_multi.c | 24 ++++++++++++++++++++++++ > 2 files changed, 29 insertions(+) > create mode 100644 tools/testing/selftests/bpf/usdt_multi.c > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index acf7c9a29082..9762467cf0ba 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -568,6 +568,7 @@ TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \ > $(OUTPUT)/xdp_synproxy \ > $(OUTPUT)/sign-file \ > $(OUTPUT)/uprobe_multi \ > + $(OUTPUT)/usdt_multi \ that's a bit too much, if you can't put everything into urandom_read, let's at least combine uprobe_multi and usdt_multi > ima_setup.sh \ > verify_sig_setup.sh \ > $(wildcard progs/btf_dump_test_case_*.c) \ > @@ -675,6 +676,10 @@ $(OUTPUT)/uprobe_multi: uprobe_multi.c > $(call msg,BINARY,,$@) > $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ > > +$(OUTPUT)/usdt_multi: usdt_multi.c > + $(call msg,BINARY,,$@) > + $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ > + > EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \ > prog_tests/tests.h map_tests/tests.h verifier/tests.h \ > feature bpftool \ > diff --git a/tools/testing/selftests/bpf/usdt_multi.c b/tools/testing/selftests/bpf/usdt_multi.c > new file mode 100644 > index 000000000000..fedf856bad2b > --- /dev/null > +++ b/tools/testing/selftests/bpf/usdt_multi.c > @@ -0,0 +1,24 @@ > +// SPDX-License-Identifier: GPL-2.0 > + > +#include <sdt.h> > + > +#define PROBE STAP_PROBE(test, usdt); > + > +#define PROBE10 PROBE PROBE PROBE PROBE PROBE \ > + PROBE PROBE PROBE PROBE PROBE > +#define PROBE100 PROBE10 PROBE10 PROBE10 PROBE10 PROBE10 \ > + PROBE10 PROBE10 PROBE10 PROBE10 PROBE10 > +#define PROBE1000 PROBE100 PROBE100 PROBE100 PROBE100 PROBE100 \ > + PROBE100 PROBE100 PROBE100 PROBE100 PROBE100 > +#define PROBE10000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 \ > + PROBE1000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 > + > +int main(void) > +{ > + PROBE10000 > + PROBE10000 > + PROBE10000 > + PROBE10000 > + PROBE10000 > + return 0; > +} > -- > 2.41.0 >
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index acf7c9a29082..9762467cf0ba 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -568,6 +568,7 @@ TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \ $(OUTPUT)/xdp_synproxy \ $(OUTPUT)/sign-file \ $(OUTPUT)/uprobe_multi \ + $(OUTPUT)/usdt_multi \ ima_setup.sh \ verify_sig_setup.sh \ $(wildcard progs/btf_dump_test_case_*.c) \ @@ -675,6 +676,10 @@ $(OUTPUT)/uprobe_multi: uprobe_multi.c $(call msg,BINARY,,$@) $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ +$(OUTPUT)/usdt_multi: usdt_multi.c + $(call msg,BINARY,,$@) + $(Q)$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@ + EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \ prog_tests/tests.h map_tests/tests.h verifier/tests.h \ feature bpftool \ diff --git a/tools/testing/selftests/bpf/usdt_multi.c b/tools/testing/selftests/bpf/usdt_multi.c new file mode 100644 index 000000000000..fedf856bad2b --- /dev/null +++ b/tools/testing/selftests/bpf/usdt_multi.c @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <sdt.h> + +#define PROBE STAP_PROBE(test, usdt); + +#define PROBE10 PROBE PROBE PROBE PROBE PROBE \ + PROBE PROBE PROBE PROBE PROBE +#define PROBE100 PROBE10 PROBE10 PROBE10 PROBE10 PROBE10 \ + PROBE10 PROBE10 PROBE10 PROBE10 PROBE10 +#define PROBE1000 PROBE100 PROBE100 PROBE100 PROBE100 PROBE100 \ + PROBE100 PROBE100 PROBE100 PROBE100 PROBE100 +#define PROBE10000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 \ + PROBE1000 PROBE1000 PROBE1000 PROBE1000 PROBE1000 + +int main(void) +{ + PROBE10000 + PROBE10000 + PROBE10000 + PROBE10000 + PROBE10000 + return 0; +}
Adding usdt_multi test program that defines 50k usdts and will serve as attach point for uprobe_multi usdt bench test in following patch. Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- tools/testing/selftests/bpf/Makefile | 5 +++++ tools/testing/selftests/bpf/usdt_multi.c | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tools/testing/selftests/bpf/usdt_multi.c