DLPX-93371 test_stbtrace_io failed because it stbtrace did not produce any output #109
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There'a set of bpftrace files that are failing with blk_mq_end_request for kprobe. This fix is changing the kprobe to use a higher level function using raw tracepoints.Background
After upgrading to 24.04, the stbtrace io command fails to generate any output.Problem
Using raw tracepoints and changing the callback to be traced was changed from blk_mq_start_request to block_io_start, and blk_mq_end_request to block_io_done. The underlying kernel functions did not always call blk_mq_end_request, so the output for the kprobe was not always hit with a corresponding kprobe on blk_mq_start_request.Solution
This way we can get the raw tracepoint of block_io_start/block_io_done, which is always called.
Running fio, iostat, and estat related tools.Testing Done
Changed kprobes to raw tracepoints.Implementation