From: Bart Van Assche <Bart.VanAssche@wdc.com>
To: "ming.lei@redhat.com" <ming.lei@redhat.com>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"hch@infradead.org" <hch@infradead.org>,
"snitzer@redhat.com" <snitzer@redhat.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"axboe@kernel.dk" <axboe@kernel.dk>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"jejb@linux.vnet.ibm.com" <jejb@linux.vnet.ibm.com>,
"loberman@redhat.com" <loberman@redhat.com>,
"dm-devel@redhat.com" <dm-devel@redhat.com>
Subject: Re: [PATCH V3] blk-mq: introduce BLK_STS_DEV_RESOURCE
Date: Mon, 29 Jan 2018 16:48:31 +0000 [thread overview]
Message-ID: <1517244510.2687.10.camel@wdc.com> (raw)
In-Reply-To: <20180127234151.GA21710@ming.t460p>
On Sun, 2018-01-28 at 07:41 +0800, Ming Lei wrote:
> Not mention, the request isn't added to dispatch list yet in .queue_rq(),
> strictly speaking, it is not correct to call blk_mq_delay_run_hw_queue() in
> .queue_rq(), so the current block layer API can't handle it well enough.
I disagree that it is not correct to call blk_mq_delay_run_hw_queue() from
inside .queue_rq(). Additionally, I have already explained to you in
previous e-mails why it's fine to call that function from inside .queue_rq():
- Nobody has ever observed the race you described because the time after
which a queue is rerun by blk_mq_delay_run_hw_queue() is much larger than
the time during which that race exists.
- It is easy to fix this race inside the block layer, namely by using
call_rcu() inside the blk_mq_delay_run_hw_queue() implementation to
postpone the queue rerunning until after the request has been added back to
the dispatch list.
> > - The patch at the start of this thread introduces a regression in the
> > SCSI core, namely a queue stall if a request completion occurs concurrently
> > with the newly added BLK_MQ_S_SCHED_RESTART test in the blk-mq core.
>
> This patch only moves the blk_mq_delay_run_hw_queue() from scsi_queue_rq()
> to blk-mq, again, please explain it in detail how this patch V3 introduces this
> regression on SCSI.
Please reread the following message: https://marc.info/?l=dm-devel&m=151672480107560.
Thanks,
Bart.
next prev parent reply other threads:[~2018-01-29 16:48 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 16:16 [PATCH V3] blk-mq: introduce BLK_STS_DEV_RESOURCE Ming Lei
2018-01-23 16:20 ` Mike Snitzer
2018-01-23 16:24 ` Bart Van Assche
2018-01-23 16:37 ` Ming Lei
2018-01-23 16:57 ` Bart Van Assche
2018-01-24 3:31 ` Ming Lei
2018-01-27 19:09 ` Mike Snitzer
2018-01-27 22:12 ` Bart Van Assche
2018-01-27 23:41 ` Ming Lei
2018-01-29 16:48 ` Bart Van Assche [this message]
2018-01-30 1:07 ` Ming Lei
2018-01-30 1:11 ` Bart Van Assche
2018-01-30 3:31 ` Ming Lei
2018-01-30 3:37 ` Bart Van Assche
2018-01-30 3:42 ` Ming Lei
2018-01-28 0:23 ` Mike Snitzer
2018-01-28 0:54 ` Bart Van Assche
2018-01-28 2:03 ` Mike Snitzer
2018-01-28 3:00 ` Bart Van Assche
2018-01-28 4:58 ` Mike Snitzer
2018-01-28 16:57 ` Bart Van Assche
2018-01-28 17:26 ` Laurence Oberman
2018-01-28 11:39 ` Ming Lei
2018-01-28 17:03 ` Bart Van Assche
2018-01-29 2:14 ` Ming Lei
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=1517244510.2687.10.camel@wdc.com \
--to=bart.vanassche@wdc.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=jejb@linux.vnet.ibm.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=martin.petersen@oracle.com \
--cc=ming.lei@redhat.com \
--cc=snitzer@redhat.com \
/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