From: Bart Van Assche <bvanassche@acm.org>
To: Jinlong Chen <nickyc975@zju.edu.cn>
Cc: axboe@kernel.dk, kbusch@kernel.org, hch@lst.de, sagi@grimberg.me,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/3] blk-mq: remove redundant call to blk_freeze_queue_start in blk_mq_destroy_queue
Date: Sun, 30 Oct 2022 07:25:45 -0700 [thread overview]
Message-ID: <9a758d91-42c5-d6b3-ddde-9c2b89d741a6@acm.org> (raw)
In-Reply-To: <42681e4e.15223d.18426b71124.Coremail.nickyc975@zju.edu.cn>
On 10/29/22 19:27, Jinlong Chen wrote:
>> I think this patch introduces a hang for every caller of
>> blk_mq_destroy_queue() other than blk_queue_start_drain().
>> I don't see why the patch introduces a hang. The calling relationship in
> blk_mq_destroy_queue is as follows: [ ... ]
Agreed - what I wrote is wrong.
> So I think there is a redundant call to blk_freeze_queue_start(), we
> just need to call blk_mq_freeze_queue_wait() after calling
> blk_queue_start_drain().
I think it is on purpose that blk_queue_start_drain() freezes the
request queue and never unfreezes it. So if you want to change this
behavior it's up to you to motivate why you want to change this behavior
and also why it is safe to make that change. See also commit
d3cfb2a0ac0b ("block: block new I/O just after queue is set as dying").
Bart.
next prev parent reply other threads:[~2022-10-30 14:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-29 10:02 [PATCH 0/3] cleanups for queue freezing functions Jinlong Chen
2022-10-29 10:02 ` [PATCH 1/3] blk-mq: remove redundant call to blk_freeze_queue_start in blk_mq_destroy_queue Jinlong Chen
2022-10-30 0:34 ` Bart Van Assche
2022-10-30 2:27 ` Jinlong Chen
2022-10-30 14:25 ` Bart Van Assche [this message]
2022-10-30 14:55 ` Jinlong Chen
2022-10-30 20:19 ` Bart Van Assche
2022-10-31 2:02 ` Jinlong Chen
2022-10-29 10:02 ` [PATCH 2/3] blk-mq: remove blk_freeze_queue Jinlong Chen
2022-10-29 10:02 ` [PATCH 3/3] block: hide back blk_freeze_queue_start and export its blk-mq alias Jinlong Chen
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=9a758d91-42c5-d6b3-ddde-9c2b89d741a6@acm.org \
--to=bvanassche@acm.org \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=nickyc975@zju.edu.cn \
--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
all inboxes | Powered by JetHome®