-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
libbpf-tools: some bio tools fails to run on kernel v6.1 #4638
Comments
Yes, blk_account_io_start/done() are inline functions in the kernel. @chenhengqi has submitted and got accepted with a tracepoint approach (https://lore.kernel.org/bpf/20230520084057.1467003-1-hengqi.chen@gmail.com/) they should be available in 6.5 kernel and corresponding bio tools using blk_account_io_start/done() will use tracepoint. |
I don't have a good solution with 6.1 kernel for these bio tools. If somebody has time, maybe poke into the kernel codes to see what could be done... |
I backport this patch to my local linux-6.1, and add tracepoint to bio tools for future use |
Here is a proof of concept to attach kprobes to inline functions and read the arguments given the debug info.
|
I'm testing bio tools on riscv cpu with kenel 6.1, and get failures
only blk_account_io_start can be found in
/proc/kallsyms
, and they are both not existed intracing/available_filter_functions
These 2 funstions are all inline functions, see
https://elixir.bootlin.com/linux/v6.1.31/source/block/blk-mq.c#L1001
https://elixir.bootlin.com/linux/v6.1.31/source/block/blk-mq.c#L971
inline is defined in
include/linux/compiler_types.h
they also become notrace functions, is there any way to fix it?
The text was updated successfully, but these errors were encountered: