block: add tracepoint for blk_zone_update_request_bio

Add a tracepoint in blk_zone_update_request_bio() to trace the bio sector
update on ZONE APPEND completions.

An example for this tracepoint is as follows:

<idle>-0 [001] d.h1.  381.746444: blk_zone_update_request_bio: 259,5 ZAS 131072 () 1048832 + 256 none,0,0 [swapper/1]

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20250715115324.53308-4-johannes.thumshirn@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Johannes Thumshirn 2025-07-15 13:53:22 +02:00 committed by Jens Axboe
parent 5022dae762
commit 4cc21a0076
2 changed files with 14 additions and 0 deletions

View file

@ -17,6 +17,8 @@
#include <linux/refcount.h>
#include <linux/mempool.h>
#include <trace/events/block.h>
#include "blk.h"
#include "blk-mq-sched.h"
#include "blk-mq-debugfs.h"
@ -1198,6 +1200,7 @@ void blk_zone_append_update_request_bio(struct request *rq, struct bio *bio)
* lookup the zone write plug.
*/
bio->bi_iter.bi_sector = rq->__sector;
trace_blk_zone_append_update_request_bio(rq);
}
void blk_zone_write_plug_bio_endio(struct bio *bio)

View file

@ -404,6 +404,17 @@ DEFINE_EVENT(block_bio, block_getrq,
TP_ARGS(bio)
);
/**
* block_zone_update_request_bio - update the bio sector after a zone append
* @bio: the completed block IO operation
*
* Update the bio's bi_sector after a zone append command has been completed.
*/
DEFINE_EVENT(block_rq, blk_zone_append_update_request_bio,
TP_PROTO(struct request *rq),
TP_ARGS(rq)
);
/**
* block_plug - keep operations requests in request queue
* @q: request queue to plug