1b061017fSAlexei Starovoitov // SPDX-License-Identifier: GPL-2.0 2b061017fSAlexei Starovoitov // Copyright (c) 2019 Facebook 3b061017fSAlexei Starovoitov #include <linux/sched.h> 4b061017fSAlexei Starovoitov #include <linux/ptrace.h> 5b061017fSAlexei Starovoitov #include <stdint.h> 6b061017fSAlexei Starovoitov #include <stddef.h> 7b061017fSAlexei Starovoitov #include <stdbool.h> 8b061017fSAlexei Starovoitov #include <linux/bpf.h> 93e689141SToke Høiland-Jørgensen #include <bpf/bpf_helpers.h> 103e689141SToke Høiland-Jørgensen #include <bpf/bpf_tracing.h> 11b061017fSAlexei Starovoitov 12b061017fSAlexei Starovoitov char _license[] SEC("license") = "GPL"; 13b061017fSAlexei Starovoitov 14b061017fSAlexei Starovoitov SEC("raw_tracepoint/consume_skb") while_true(struct pt_regs * ctx)15*70bc7933SAndrii Nakryikoint while_true(struct pt_regs *ctx) 16b061017fSAlexei Starovoitov { 17*70bc7933SAndrii Nakryiko volatile __u64 i = 0, sum = 0; 18b061017fSAlexei Starovoitov do { 19b061017fSAlexei Starovoitov i++; 20af3c24e0SIlya Leoshkevich sum += PT_REGS_RC(ctx); 21b061017fSAlexei Starovoitov } while (i < 0x100000000ULL); 22b061017fSAlexei Starovoitov return sum; 23b061017fSAlexei Starovoitov } 24