On 01/17/2017 01:57 PM, Jeff Moyer wrote:
Only a few bio-based drivers actually generate blktrace completion
(C) events. Instead of changing all bio-based drivers to call
trace_block_bio_complete, move the tracing to bio_complete, and remove
the explicit tracing from the few drivers that actually do it. After
this patch, there is exactly one caller of trace_block_bio_complete
and one caller of trace_block_rq_complete. More importantly, all
bio-based drivers now generate C events, which is useful for
performance analysis.
I like the change, hate the naming. I'd prefer one of two things:
- Add bio_endio_complete() instead. That name sucks too, the
important part is flipping the __name() to have a trace
version instead.
- Mark the bio as trace completed, and keep the naming. Since
it's only off the completion path, that can be just marking
the bi_flags non-atomically.
I probably prefer the latter.
--
Jens Axboe