Lines Matching +full:multi +full:-

1 // SPDX-License-Identifier: GPL-2.0
25 { "trig-batch-iters", ARG_TRIG_BATCH_ITERS, "BATCH_ITER_CNT", 0,
26 "Number of in-kernel iterations per one driver test run"},
38 fprintf(stderr, "invalid --trig-batch-iters value (should be between %d and %d)\n",
59 #pragma GCC diagnostic ignored "-Wattributes"
119 int fd = ctx.driver_prog_fd ?: bpf_program__fd(ctx.skel->progs.trigger_driver);
130 res->hits = sum_and_reset_counters(base_hits);
132 res->hits = sum_and_reset_counters(ctx.skel->bss->hits);
146 bpf_program__set_autoload(ctx.skel->progs.trigger_driver, true);
148 ctx.skel->rodata->batch_iters = args.batch_iters;
178 /* Batched, staying mostly in-kernel triggering setups */
182 bpf_program__set_autoload(ctx.skel->progs.trigger_driver, false);
183 bpf_program__set_autoload(ctx.skel->progs.trigger_count, true);
186 ctx.driver_prog_fd = bpf_program__fd(ctx.skel->progs.trigger_count);
192 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_kprobe, true);
194 attach_bpf(ctx.skel->progs.bench_trigger_kprobe);
200 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_kretprobe, true);
202 attach_bpf(ctx.skel->progs.bench_trigger_kretprobe);
208 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_kprobe_multi, true);
210 attach_bpf(ctx.skel->progs.bench_trigger_kprobe_multi);
216 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_kretprobe_multi, true);
218 attach_bpf(ctx.skel->progs.bench_trigger_kretprobe_multi);
224 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_fentry, true);
226 attach_bpf(ctx.skel->progs.bench_trigger_fentry);
236 * bpf_get_ksyms -> skip_entry, as they can introduce sufficient
240 * So, don't run the kprobe-multi-all and kretprobe-multi-all on
263 empty = ctx.skel->progs.bench_kprobe_multi_empty;
264 prog = ctx.skel->progs.bench_trigger_kprobe_multi;
278 empty = ctx.skel->progs.bench_kretprobe_multi_empty;
279 prog = ctx.skel->progs.bench_trigger_kretprobe_multi;
291 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_fexit, true);
293 attach_bpf(ctx.skel->progs.bench_trigger_fexit);
299 bpf_program__set_autoload(ctx.skel->progs.trigger_driver, false);
300 bpf_program__set_autoload(ctx.skel->progs.trigger_driver_kfunc, true);
301 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_fmodret, true);
304 ctx.driver_prog_fd = bpf_program__fd(ctx.skel->progs.trigger_driver_kfunc);
305 attach_bpf(ctx.skel->progs.bench_trigger_fmodret);
311 bpf_program__set_autoload(ctx.skel->progs.trigger_driver, false);
312 bpf_program__set_autoload(ctx.skel->progs.trigger_driver_kfunc, true);
313 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_tp, true);
316 ctx.driver_prog_fd = bpf_program__fd(ctx.skel->progs.trigger_driver_kfunc);
317 attach_bpf(ctx.skel->progs.bench_trigger_tp);
323 bpf_program__set_autoload(ctx.skel->progs.trigger_driver, false);
324 bpf_program__set_autoload(ctx.skel->progs.trigger_driver_kfunc, true);
325 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_rawtp, true);
328 ctx.driver_prog_fd = bpf_program__fd(ctx.skel->progs.trigger_driver_kfunc);
329 attach_bpf(ctx.skel->progs.bench_trigger_rawtp);
424 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_uprobe_multi, true);
426 bpf_program__set_autoload(ctx.skel->progs.bench_trigger_uprobe, true);
442 ctx.skel->progs.bench_trigger_uprobe_multi,
443 -1 /* all PIDs */, "/proc/self/exe", NULL, &opts);
444 ctx.skel->links.bench_trigger_uprobe_multi = link;
446 link = bpf_program__attach_uprobe(ctx.skel->progs.bench_trigger_uprobe,
448 -1 /* all PIDs */,
451 ctx.skel->links.bench_trigger_uprobe = link;
454 fprintf(stderr, "failed to attach %s!\n", use_multi ? "multi-uprobe" : "uprobe");
547 .name = "trig-syscall-count",
559 .name = "trig-" NAME, \
568 BENCH_TRIG_KERNEL(kernel_count, "kernel-count");
571 BENCH_TRIG_KERNEL(kprobe_multi, "kprobe-multi");
572 BENCH_TRIG_KERNEL(kretprobe_multi, "kretprobe-multi");
574 BENCH_TRIG_KERNEL(kprobe_multi_all, "kprobe-multi-all");
575 BENCH_TRIG_KERNEL(kretprobe_multi_all, "kretprobe-multi-all");
584 .name = "trig-" NAME, \
593 BENCH_TRIG_USERMODE(usermode_count, count, "usermode-count");
594 BENCH_TRIG_USERMODE(uprobe_nop, nop, "uprobe-nop");
595 BENCH_TRIG_USERMODE(uprobe_push, push, "uprobe-push");
596 BENCH_TRIG_USERMODE(uprobe_ret, ret, "uprobe-ret");
597 BENCH_TRIG_USERMODE(uretprobe_nop, nop, "uretprobe-nop");
598 BENCH_TRIG_USERMODE(uretprobe_push, push, "uretprobe-push");
599 BENCH_TRIG_USERMODE(uretprobe_ret, ret, "uretprobe-ret");
600 BENCH_TRIG_USERMODE(uprobe_multi_nop, nop, "uprobe-multi-nop");
601 BENCH_TRIG_USERMODE(uprobe_multi_push, push, "uprobe-multi-push");
602 BENCH_TRIG_USERMODE(uprobe_multi_ret, ret, "uprobe-multi-ret");
603 BENCH_TRIG_USERMODE(uretprobe_multi_nop, nop, "uretprobe-multi-nop");
604 BENCH_TRIG_USERMODE(uretprobe_multi_push, push, "uretprobe-multi-push");
605 BENCH_TRIG_USERMODE(uretprobe_multi_ret, ret, "uretprobe-multi-ret");
607 BENCH_TRIG_USERMODE(uprobe_nop5, nop5, "uprobe-nop5");
608 BENCH_TRIG_USERMODE(uretprobe_nop5, nop5, "uretprobe-nop5");
609 BENCH_TRIG_USERMODE(uprobe_multi_nop5, nop5, "uprobe-multi-nop5");
610 BENCH_TRIG_USERMODE(uretprobe_multi_nop5, nop5, "uretprobe-multi-nop5");