Messages in this thread | | | From | NeilBrown <> | Date | Thu, 23 Mar 2017 17:26:11 +1100 | Subject | Re: [PATCH] block: trace completion of all bios. |
| |
On Wed, Mar 22 2017, Christoph Hellwig wrote:
> On Wed, Mar 22, 2017 at 01:38:09PM +1100, NeilBrown wrote: >> >> Currently only dm and md/raid5 bios trigger trace_block_bio_complete(). >> Now that we have bio_chain(), it is not possible, in general, for a >> driver to know when the bio is really complete. Only bio_endio() >> knows that. >> >> So move the trace_block_bio_complete() call to bio_endio(). > > This will cause duplicate events for request based drivers. You'll > need to have a bio_endio_notrace or similar without that the request > completion path can call.
Ah... I hadn't noticed that the request completion was the same event type as the bio completion... Thanks. Also after being processed by the request handler, bi_sector and bi_size have changed so the trace messsage would be wrong.
I've sorted that out and will repost.
Thanks, NeilBrown
[unhandled content-type:application/pgp-signature] | |