examples: fix bitehist
diff --git a/examples/tracing/bitehist.py b/examples/tracing/bitehist.py
index 89ceb30..81e8459 100755
--- a/examples/tracing/bitehist.py
+++ b/examples/tracing/bitehist.py
@@ -20,27 +20,32 @@
# load BPF program
b = BPF(text="""
#include <uapi/linux/ptrace.h>
-#include <linux/blkdev.h>
+#include <linux/blk-mq.h>
BPF_HISTOGRAM(dist);
BPF_HISTOGRAM(dist_linear);
-int kprobe__blk_account_io_done(struct pt_regs *ctx, struct request *req)
+int trace_req_done(struct pt_regs *ctx, struct request *req)
{
- dist.increment(bpf_log2l(req->__data_len / 1024));
- dist_linear.increment(req->__data_len / 1024);
- return 0;
+ dist.increment(bpf_log2l(req->__data_len / 1024));
+ dist_linear.increment(req->__data_len / 1024);
+ return 0;
}
""")
+if BPF.get_kprobe_functions(b'__blk_account_io_done'):
+ b.attach_kprobe(event="__blk_account_io_done", fn_name="trace_req_done")
+else:
+ b.attach_kprobe(event="blk_account_io_done", fn_name="trace_req_done")
+
# header
print("Tracing... Hit Ctrl-C to end.")
# trace until Ctrl-C
try:
- sleep(99999999)
+ sleep(99999999)
except KeyboardInterrupt:
- print()
+ print()
# output
print("log2 histogram")