From: Bart Van Assche <bvanassche@acm.org> To: Jens Axboe <axboe@kernel.dk> Cc: linux-block@vger.kernel.org, Christoph Hellwig <hch@lst.de>, Jaegeuk Kim <jaegeuk@kernel.org>, Bart Van Assche <bvanassche@acm.org>, Damien Le Moal <damien.lemoal@wdc.com>, Johannes Thumshirn <johannes.thumshirn@wdc.com>, Himanshu Madhani <himanshu.madhani@oracle.com>, Hannes Reinecke <hare@suse.de>, Ming Lei <ming.lei@redhat.com> Subject: [PATCH 05/14] block/mq-deadline: Add several comments Date: Tue, 8 Jun 2021 16:06:54 -0700 [thread overview] Message-ID: <20210608230703.19510-6-bvanassche@acm.org> (raw) In-Reply-To: <20210608230703.19510-1-bvanassche@acm.org> Make the code easier to read by adding more comments. Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.de> Cc: Ming Lei <ming.lei@redhat.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- block/mq-deadline.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/block/mq-deadline.c b/block/mq-deadline.c index 8eea2cbf2bf4..31418e9ce9e2 100644 --- a/block/mq-deadline.c +++ b/block/mq-deadline.c @@ -139,6 +139,9 @@ static void dd_request_merged(struct request_queue *q, struct request *req, } } +/* + * Callback function that is invoked after @next has been merged into @req. + */ static void dd_merged_requests(struct request_queue *q, struct request *req, struct request *next) { @@ -375,6 +378,8 @@ static struct request *__dd_dispatch_request(struct deadline_data *dd) } /* + * Called from blk_mq_run_hw_queue() -> __blk_mq_sched_dispatch_requests(). + * * One confusing aspect here is that we get called for a specific * hardware queue, but we may return a request that is for a * different hardware queue. This is because mq-deadline has shared @@ -438,6 +443,10 @@ static int dd_init_queue(struct request_queue *q, struct elevator_type *e) return 0; } +/* + * Try to merge @bio into an existing request. If @bio has been merged into + * an existing request, store the pointer to that request into *@rq. + */ static int dd_request_merge(struct request_queue *q, struct request **rq, struct bio *bio) { @@ -461,6 +470,10 @@ static int dd_request_merge(struct request_queue *q, struct request **rq, return ELEVATOR_NO_MERGE; } +/* + * Attempt to merge a bio into an existing request. This function is called + * before @bio is associated with a request. + */ static bool dd_bio_merge(struct request_queue *q, struct bio *bio, unsigned int nr_segs) { @@ -518,6 +531,9 @@ static void dd_insert_request(struct blk_mq_hw_ctx *hctx, struct request *rq, } } +/* + * Called from blk_mq_sched_insert_request() or blk_mq_sched_insert_requests(). + */ static void dd_insert_requests(struct blk_mq_hw_ctx *hctx, struct list_head *list, bool at_head) { @@ -544,6 +560,8 @@ static void dd_prepare_request(struct request *rq) } /* + * Callback from inside blk_mq_free_request(). + * * For zoned block devices, write unlock the target zone of * completed write requests. Do this while holding the zone lock * spinlock so that the zone is never unlocked while deadline_fifo_request()
next prev parent reply other threads:[~2021-06-08 23:07 UTC|newest] Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-06-08 23:06 [PATCH 00/14] Improve I/O priority support Bart Van Assche 2021-06-08 23:06 ` [PATCH 01/14] block/Kconfig: Make the BLK_WBT and BLK_WBT_MQ entries consecutive Bart Van Assche 2021-06-09 4:14 ` Damien Le Moal 2021-06-09 7:03 ` Johannes Thumshirn 2021-06-10 6:02 ` Hannes Reinecke 2021-06-08 23:06 ` [PATCH 02/14] block/blk-cgroup: Swap the blk_throtl_init() and blk_iolatency_init() calls Bart Van Assche 2021-06-09 4:19 ` Damien Le Moal 2021-06-09 7:05 ` Johannes Thumshirn 2021-06-10 6:02 ` Hannes Reinecke 2021-06-08 23:06 ` [PATCH 03/14] block/blk-rq-qos: Move a function from a header file into a C file Bart Van Assche 2021-06-09 4:22 ` Damien Le Moal 2021-06-10 6:03 ` Hannes Reinecke 2021-06-08 23:06 ` [PATCH 04/14] block: Introduce the ioprio rq-qos policy Bart Van Assche 2021-06-09 4:40 ` Damien Le Moal 2021-06-09 16:48 ` Bart Van Assche 2021-06-10 0:29 ` Damien Le Moal 2021-06-10 6:20 ` Hannes Reinecke 2021-06-10 17:14 ` Bart Van Assche 2021-06-08 23:06 ` Bart Van Assche [this message] 2021-06-10 6:21 ` [PATCH 05/14] block/mq-deadline: Add several comments Hannes Reinecke 2021-06-08 23:06 ` [PATCH 06/14] block/mq-deadline: Add two lockdep_assert_held() statements Bart Van Assche 2021-06-10 6:21 ` Hannes Reinecke 2021-06-08 23:06 ` [PATCH 07/14] block/mq-deadline: Remove two local variables Bart Van Assche 2021-06-10 6:22 ` Hannes Reinecke 2021-06-08 23:06 ` [PATCH 08/14] block/mq-deadline: Rename dd_init_queue() and dd_exit_queue() Bart Van Assche 2021-06-08 23:06 ` [PATCH 09/14] block/mq-deadline: Improve compile-time argument checking Bart Van Assche 2021-06-08 23:06 ` [PATCH 10/14] block/mq-deadline: Improve the sysfs show and store macros Bart Van Assche 2021-06-09 4:46 ` Damien Le Moal 2021-06-09 16:54 ` Bart Van Assche 2021-06-10 0:31 ` Damien Le Moal 2021-06-09 7:11 ` Johannes Thumshirn 2021-06-09 16:59 ` Bart Van Assche 2021-06-10 6:23 ` Hannes Reinecke 2021-06-08 23:07 ` [PATCH 11/14] block/mq-deadline: Reserve 25% of scheduler tags for synchronous requests Bart Van Assche 2021-06-10 6:26 ` Hannes Reinecke 2021-06-08 23:07 ` [PATCH 12/14] block/mq-deadline: Add I/O priority support Bart Van Assche 2021-06-09 5:03 ` Damien Le Moal 2021-06-09 17:25 ` Bart Van Assche 2021-06-10 0:39 ` Damien Le Moal 2021-06-10 6:35 ` Hannes Reinecke 2021-06-08 23:07 ` [PATCH 13/14] block/mq-deadline: Add cgroup support Bart Van Assche 2021-06-10 6:37 ` Hannes Reinecke 2021-06-08 23:07 ` [PATCH 14/14] block/mq-deadline: Prioritize high-priority requests Bart Van Assche 2021-06-09 5:10 ` Damien Le Moal 2021-06-10 6:43 ` Hannes Reinecke
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210608230703.19510-6-bvanassche@acm.org \ --to=bvanassche@acm.org \ --cc=axboe@kernel.dk \ --cc=damien.lemoal@wdc.com \ --cc=hare@suse.de \ --cc=hch@lst.de \ --cc=himanshu.madhani@oracle.com \ --cc=jaegeuk@kernel.org \ --cc=johannes.thumshirn@wdc.com \ --cc=linux-block@vger.kernel.org \ --cc=ming.lei@redhat.com \ --subject='Re: [PATCH 05/14] block/mq-deadline: Add several comments' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).