From: Ming Lei <ming.lei@redhat.com>
To: Bart Van Assche <Bart.VanAssche@wdc.com>
Cc: "hch@infradead.org" <hch@infradead.org>,
"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
"axboe@fb.com" <axboe@fb.com>,
"roman.penyaev@profitbricks.com" <roman.penyaev@profitbricks.com>,
"osandov@fb.com" <osandov@fb.com>,
"hare@suse.com" <hare@suse.com>
Subject: Re: [PATCH V2 0/2] block: remove unnecessary RESTART
Date: Fri, 27 Oct 2017 13:38:39 +0800 [thread overview]
Message-ID: <20171027053834.GA12858@ming.t460p> (raw)
In-Reply-To: <1509079996.3244.3.camel@wdc.com>
Hello Bart,
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.
>
> Hello Ming,
>
> 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?
If there are really more, and when all can share similar RESTART mechanism, I
think that is the time for considering the common RESTART.
> restart mechanism is removed from the blk-mq core, does that mean that all
> block drivers that share tags will have to follow the example of the SCSI
> core and implement a restart mechanism themselves? As far as I know there
If there are such drivers, there should have been their own restart mechanism
which works for long time before blk-mq comes, and more importantly each driver
has much more knowledge than generic block layer to handle the restart,
such as SCSI's restart, that means driver's implementation may be more efficient.
Also the RESTART for TAG-SHARED may never function as expected wrt. SCSI.
And more importantly the block's RESTART for TAG-SHARED has caused big performance
issue for people.
IMO, the above two reasons are enough to remove the current RESTART for shared-tag.
> is a strong preference in the Linux community to implement common mechanisms
> in the (block layer) core instead of in drivers. It seems to me like you are
> proposing the opposite, namely removing a general mechanism from the (block
> layer) core and moving it into a driver, namely the SCSI core?
Actually SCSI's RESTART is very thin, and it is just the per-host starved_list.
Thanks,
Ming
next prev parent reply other threads:[~2017-10-27 5:38 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 [this message]
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
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=20171027053834.GA12858@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.