Lines Matching +full:libbpf +full:- +full:tools
1 // SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)
4 // Based on biostacks(8) from BPF-Perf-Tools-Book by Brendan Gregg.
5 // 10-Aug-2020 Wenbo Zhang Created this.
10 #include <bpf/libbpf.h>
22 .duration = -1,
27 "https://github.com/iovisor/bcc/tree/master/libbpf-tools";
31 "USAGE: biostacks [--help] [-d DISK] [-m] [duration]\n"
36 " biostacks -d sdc # trace sdc only\n";
114 printf("%-14.14s %-6d %-7s\n", in print_map()
116 partition ? partition->name : "Unknown"); in print_map()
121 printf("%s\n", ksym ? ksym->name : "Unknown"); in print_map()
170 obj->rodata->filter_dev = true; in main()
171 obj->rodata->targ_dev = partition->dev; in main()
174 obj->rodata->targ_ms = env.milliseconds; in main()
182 obj->links.blk_account_io_start = bpf_program__attach(obj->progs.blk_account_io_start); in main()
183 if (!obj->links.blk_account_io_start) { in main()
184 err = -errno; in main()
185 fprintf(stderr, "failed to attach blk_account_io_start: %s\n", strerror(-err)); in main()
194 obj->links.blk_account_io_merge_bio = in main()
195 bpf_program__attach(obj->progs.blk_account_io_merge_bio); in main()
196 if (!obj->links.blk_account_io_merge_bio) { in main()
197 err = -errno; in main()
199 strerror(-err)); in main()
203 obj->links.blk_account_io_done = bpf_program__attach(obj->progs.blk_account_io_done); in main()
204 if (!obj->links.blk_account_io_done) { in main()
205 err = -errno; in main()
207 strerror(-err)); in main()
213 printf("Tracing block I/O with init stacks. Hit Ctrl-C to end.\n"); in main()
215 print_map(ksyms, partitions, bpf_map__fd(obj->maps.hists)); in main()