From: Daniel Wagner <wagi@kernel.org>
To: Keith Busch <kbusch@kernel.org>, Jens Axboe <axboe@kernel.dk>,
Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
Ming Lei <ming.lei@redhat.com>
Cc: James Smart <james.smart@broadcom.com>,
Hannes Reinecke <hare@suse.de>,
linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-block@vger.kernel.org, Daniel Wagner <wagi@kernel.org>
Subject: [PATCH 3/3] blk-mq: fix wait condition for tagset wait completed check
Date: Tue, 28 Jan 2025 17:34:48 +0100 [thread overview]
Message-ID: <20250128-nvme-misc-fixes-v1-3-40c586581171@kernel.org> (raw)
In-Reply-To: <20250128-nvme-misc-fixes-v1-0-40c586581171@kernel.org>
blk_mq_tagset_count_completed_reqs returns the number of completed
requests. The only user of this function is
blk_mq_tagset_wait_completed_request which wants to know how many
request are not yet completed. Thus return the number of in flight
requests and terminate the wait loop when there is no inflight request.
Fixes: f9934a80f91d ("blk-mq: introduce blk_mq_tagset_wait_completed_request()")
Cc: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
---
block/blk-mq-tag.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c
index b9f417d980b46d54b74dec8adcb5b04e6a78635c..3ce46afb65e3c3de9f11ca440bf0f335f21d0998 100644
--- a/block/blk-mq-tag.c
+++ b/block/blk-mq-tag.c
@@ -450,11 +450,11 @@ void blk_mq_tagset_busy_iter(struct blk_mq_tag_set *tagset,
}
EXPORT_SYMBOL(blk_mq_tagset_busy_iter);
-static bool blk_mq_tagset_count_completed_rqs(struct request *rq, void *data)
+static bool blk_mq_tagset_count_inflight_rqs(struct request *rq, void *data)
{
unsigned *count = data;
- if (blk_mq_request_completed(rq))
+ if (blk_mq_rq_state(rq) == MQ_RQ_IN_FLIGHT)
(*count)++;
return true;
}
@@ -472,7 +472,7 @@ void blk_mq_tagset_wait_completed_request(struct blk_mq_tag_set *tagset)
unsigned count = 0;
blk_mq_tagset_busy_iter(tagset,
- blk_mq_tagset_count_completed_rqs, &count);
+ blk_mq_tagset_count_inflight_rqs, &count);
if (!count)
break;
msleep(5);
--
2.48.1
next prev parent reply other threads:[~2025-01-28 16:42 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 16:34 [PATCH 0/3] misc nvme related fixes Daniel Wagner
2025-01-28 16:34 ` [PATCH 1/3] nvme-tcp: rate limit error message in send path Daniel Wagner
2025-01-29 6:05 ` Christoph Hellwig
2025-01-30 15:25 ` Daniel Wagner
2025-01-31 7:29 ` Christoph Hellwig
2025-01-31 8:09 ` Sagi Grimberg
2025-01-31 8:09 ` Sagi Grimberg
2025-01-28 16:34 ` [PATCH 2/3] nvme-fc: use ctrl state getter Daniel Wagner
2025-01-29 6:05 ` Christoph Hellwig
2025-01-29 18:39 ` Keith Busch
2025-01-31 8:09 ` Sagi Grimberg
2025-01-28 16:34 ` Daniel Wagner [this message]
2025-01-29 6:07 ` [PATCH 3/3] blk-mq: fix wait condition for tagset wait completed check Christoph Hellwig
2025-01-29 9:54 ` Nilay Shroff
2025-01-31 8:13 ` Sagi Grimberg
2025-01-31 8:46 ` Daniel Wagner
2025-01-31 8:54 ` Christoph Hellwig
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=20250128-nvme-misc-fixes-v1-3-40c586581171@kernel.org \
--to=wagi@kernel.org \
--cc=axboe@kernel.dk \
--cc=hare@suse.de \
--cc=hch@lst.de \
--cc=james.smart@broadcom.com \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=ming.lei@redhat.com \
--cc=sagi@grimberg.me \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox