40 lines · c
1// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2// Copyright (c) 2023 Red Hat3#include "vmlinux.h"4#include <bpf/bpf_tracing.h>5 6unsigned int nr_uprobes;7unsigned int nr_uretprobes;8 9SEC("uprobe")10int BPF_UPROBE(empty)11{12 return 0;13}14 15SEC("uprobe")16int BPF_UPROBE(trace_printk)17{18 char fmt[] = "perf bench uprobe %u";19 20 bpf_trace_printk(fmt, sizeof(fmt), ++nr_uprobes);21 return 0;22}23 24SEC("uretprobe")25int BPF_URETPROBE(empty_ret)26{27 return 0;28}29 30SEC("uretprobe")31int BPF_URETPROBE(trace_printk_ret)32{33 char fmt[] = "perf bench uretprobe %u";34 35 bpf_trace_printk(fmt, sizeof(fmt), ++nr_uretprobes);36 return 0;37}38 39char LICENSE[] SEC("license") = "Dual BSD/GPL";40