From: Ming Lei <ming.lei@redhat.com>
To: Bart Van Assche <Bart.VanAssche@wdc.com>
Cc: "hch@infradead.org" <hch@infradead.org>,
"roman.penyaev@profitbricks.com" <roman.penyaev@profitbricks.com>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"osandov@fb.com" <osandov@fb.com>, "axboe@fb.com" <axboe@fb.com>,
"hare@suse.com" <hare@suse.com>
Subject: Re: [PATCH V2 0/2] block: remove unnecessary RESTART
Date: Tue, 31 Oct 2017 09:47:34 +0800 [thread overview]
Message-ID: <20171031014728.GA12070@ming.t460p> (raw)
In-Reply-To: <1509395096.27259.15.camel@wdc.com>
On Mon, Oct 30, 2017 at 08:24:57PM +0000, Bart Van Assche wrote:
> On Fri, 2017-10-27 at 13:38 +0800, Ming Lei wrote:
> > On Fri, Oct 27, 2017 at 04:53:18AM +0000, Bart Van Assche wrote:
> > > On Fri, 2017-10-27 at 12:43 +0800, Ming Lei wrote:
> > > > The 1st patch removes the RESTART for TAG-SHARED because SCSI handles it
> > > > by itself, and not necessary to waste CPU to do the expensive RESTART.
> > > > And Roman Pen reported that this RESTART cuts half of IOPS in his case.
> > > >
> > > > The 2nd patch removes the RESTART when .get_budget returns BLK_STS_RESOURCE,
> > > > and this RESTART is handled by SCSI's RESTART(scsi_end_request()) too.
> > >
> > > There are more block drivers than the SCSI core that share tags. If the
> >
> > Could you share us what the other in-tree driver which share tags is?
>
> I think the following in-tree drivers support shared tags (in alphabetical
> order):
> * null_blk. See also the shared_tags kernel module parameter.
> * nvme. See also nvme_alloc_ns().
For both null_blk and nvme, we don't need to deal with cross-queue RESTART,
because BLK_MQ_S_TAG_WAITING has handled it already.
> * scsi-mq.
>
> Please note that the queue_rq() function of *all* these drivers can return
> BLK_STS_RESOURCE.
Yes, but this patch doesn't remove the RESTART for the current hctx, and
only removed the part of handling cross-queue RESTART.
>
> > Actually SCSI's RESTART is very thin, and it is just the per-host starved_list.
>
> Do you see any reason that would prevent to move that mechanism from scsi-mq
> into the blk-mq core?
I don't see it is required from SCSI's view since this way has been run
for SCSI for long time, and we don't have this requirement for other
in-tree drivers meantime.
Also as I mentioned before, driver has more knowledge than generic block
layer for making it more efficiently.
Thanks,
Ming
next prev parent reply other threads:[~2017-10-31 1:47 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-27 4:43 [PATCH V2 0/2] block: remove unnecessary RESTART Ming Lei
2017-10-27 4:43 ` [PATCH V2 1/2] blk-mq: don't handle TAG_SHARED in restart Ming Lei
2017-10-27 4:43 ` [PATCH V2 2/2] blk-mq: don't restart queue when .get_budget returns BLK_STS_RESOURCE Ming Lei
2017-10-27 4:53 ` [PATCH V2 0/2] block: remove unnecessary RESTART Bart Van Assche
2017-10-27 5:38 ` Ming Lei
2017-10-27 17:55 ` Roman Penyaev
2017-10-28 15:47 ` Ming Lei
2017-10-30 20:33 ` Bart Van Assche
2017-11-01 16:55 ` Roman Penyaev
2017-10-30 20:24 ` Bart Van Assche
2017-10-31 1:47 ` Ming Lei [this message]
2017-11-01 3:54 ` Bart Van Assche
2017-11-01 4:08 ` Ming Lei
2017-11-01 16:47 ` Bart Van Assche
2017-11-01 16:59 ` Ming Lei
2017-11-01 17:09 ` Bart Van Assche
2017-11-01 17:22 ` Ming Lei
2017-10-31 20:29 ` Jens Axboe
2017-11-01 1:46 ` Ming Lei
2017-11-01 1:53 ` Jens Axboe
2017-11-01 2:03 ` Ming Lei
2017-11-01 14:21 ` Jens Axboe
2017-11-02 15:57 ` Bart Van Assche
2017-11-02 23:38 ` Ming Lei
2017-11-02 23:43 ` Bart Van Assche
2017-11-02 23:48 ` Ming Lei
2017-11-02 23:54 ` Bart Van Assche
2017-11-03 0:15 ` Ming Lei
2017-11-03 0:48 ` Bart Van Assche
2017-11-03 1:16 ` Laurence Oberman
2017-11-03 2:12 ` Ming Lei
2017-11-03 2:42 ` Bart Van Assche
2017-11-03 3:50 ` Ming Lei
2017-11-03 15:23 ` Bart Van Assche
2017-11-03 15:47 ` Ming Lei
2017-11-03 15:50 ` Bart Van Assche
2017-11-03 16:13 ` Laurence Oberman
2017-11-03 16:47 ` Ming Lei
2017-11-03 17:13 ` Laurence Oberman
2017-11-04 2:11 ` Ming Lei
2017-11-03 15:18 ` Ming Lei
2017-11-03 15:43 ` Bart Van Assche
2017-11-03 15:47 ` Bart Van Assche
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=20171031014728.GA12070@ming.t460p \
--to=ming.lei@redhat.com \
--cc=Bart.VanAssche@wdc.com \
--cc=axboe@fb.com \
--cc=hare@suse.com \
--cc=hch@infradead.org \
--cc=linux-block@vger.kernel.org \
--cc=osandov@fb.com \
--cc=roman.penyaev@profitbricks.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.