diff --git a/backport-fix-biostack-use-tracepoints-instead-kprobe.patch b/backport-fix-biostack-use-tracepoints-instead-kprobe.patch new file mode 100644 index 0000000000000000000000000000000000000000..7e087c8a5791ab4e451143d3f7674c7a5124daa3 --- /dev/null +++ b/backport-fix-biostack-use-tracepoints-instead-kprobe.patch @@ -0,0 +1,32 @@ +diff -Nuar bpftrace-0.19.1/tools/biostacks.bt bpftrace-0.19.1.new/tools/biostacks.bt +--- bpftrace-0.19.1/tools/biostacks.bt 2023-10-04 16:18:18.000000000 +0800 ++++ bpftrace-0.19.1.new/tools/biostacks.bt 2024-07-09 11:12:36.883882941 +0800 +@@ -18,20 +18,18 @@ + printf("Tracing block I/O with init stacks. Hit Ctrl-C to end.\n"); + } + +-kprobe:blk_account_io_start, +-kprobe:__blk_account_io_start ++tracepoint:block:block_io_start + { +- @reqstack[arg0] = kstack; +- @reqts[arg0] = nsecs; ++ @reqstack[args.dev, args.sector] = kstack; ++ @reqts[args.dev, args.sector] = nsecs; + } + +-kprobe:blk_start_request, +-kprobe:blk_mq_start_request +-/@reqts[arg0]/ ++tracepoint:block:block_rq_issue ++/@reqts[args.dev, args.sector]/ + { +- @usecs[@reqstack[arg0]] = hist(nsecs - @reqts[arg0]); +- delete(@reqstack[arg0]); +- delete(@reqts[arg0]); ++ @usecs[@reqstack[args.dev, args.sector]] = hist(nsecs - @reqts[args.dev, args.sector]); ++ delete(@reqstack[args.dev, args.sector]); ++ delete(@reqts[args.dev, args.sector]); + } + + END diff --git a/bpftrace.spec b/bpftrace.spec index 97412f5c6b014a2966556a21f805e202de10c83c..19d5a01a20ac7c9e01821376f4578f8ce2e1a8ce 100644 --- a/bpftrace.spec +++ b/bpftrace.spec @@ -1,12 +1,12 @@ Name: bpftrace Version: 0.19.1 -Release: 2 +Release: 3 Summary: High-level tracing language for Linux eBPF License: ASL 2.0 URL: https://github.com/iovisor/bpftrace Source0: %{url}/archive/refs/tags/v%{version}.tar.gz - +Patch0001: backport-fix-biostack-use-tracepoints-instead-kprobe.patch # Arches will be included as upstream support is added and dependencies are # satisfied in the respective arches ExclusiveArch: x86_64 %{power64} aarch64 riscv64 loongarch64 @@ -68,8 +68,12 @@ find %{buildroot}%{_datadir}/%{name}/tools -type f -exec \ %changelog -* Tue Oct 29 2024 Wenlong Zhang - 0.19.1-2 -- fix build error on loongarch64 +* Tue Jul 16 2024 changtao - 0.19.1-3 +- fix biostacks.bt for cannot attach kprobe because blk_account_io_start change to inline function +- for kernel 6.6.0 + +* Tue Feb 27 2024 Huang Yang - 0.19.1-2 +- add loongarch64 support * Mon Jan 08 2024 Paul Thomas - 0.19.1-1 - update to version 0.19.1