Re: [patch] block: add blktrace C events for bio-based drivers

From: Jens Axboe
Date: Tue Jan 17 2017 - 17:07:45 EST


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