{ "test_verif_scale2.o", BPF_PROG_TYPE_SCHED_CLS },
                { "test_verif_scale3.o", BPF_PROG_TYPE_SCHED_CLS },
 
+               { "pyperf_global.o", BPF_PROG_TYPE_RAW_TRACEPOINT },
+
                /* full unroll by llvm */
                { "pyperf50.o", BPF_PROG_TYPE_RAW_TRACEPOINT },
                { "pyperf100.o", BPF_PROG_TYPE_RAW_TRACEPOINT },
 
        __uint(value_size, sizeof(long long) * 127);
 } stackmap SEC(".maps");
 
-static __always_inline int __on_event(struct pt_regs *ctx)
+#ifdef GLOBAL_FUNC
+__attribute__((noinline))
+#else
+static __always_inline
+#endif
+int __on_event(struct bpf_raw_tracepoint_args *ctx)
 {
        uint64_t pid_tgid = bpf_get_current_pid_tgid();
        pid_t pid = (pid_t)(pid_tgid >> 32);
 }
 
 SEC("raw_tracepoint/kfree_skb")
-int on_event(struct pt_regs* ctx)
+int on_event(struct bpf_raw_tracepoint_args* ctx)
 {
        int i, ret = 0;
        ret |= __on_event(ctx);
 
--- /dev/null
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (c) 2020 Facebook */
+#define STACK_MAX_LEN 50
+#define GLOBAL_FUNC
+#include "pyperf.h"