From: Ming Lei <ming.lei@redhat.com>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Jens Axboe <axboe@kernel.dk>,
linux-block@vger.kernel.org,
Lai Jiangshan <jiangshanlai@gmail.com>,
"Paul E . McKenney" <paulmck@kernel.org>,
Josh Triplett <josh@joshtriplett.org>,
Bart Van Assche <bvanassche@acm.org>,
Johannes Thumshirn <Johannes.Thumshirn@wdc.com>,
Chao Leng <lengchao@huawei.com>, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH V2 0/2] blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING
Date: Thu, 3 Sep 2020 08:41:57 +0800 [thread overview]
Message-ID: <20200903004157.GB638071@T590> (raw)
In-Reply-To: <c33d02c1-5806-94a3-86a8-4e7a6addb36a@grimberg.me>
On Wed, Sep 02, 2020 at 11:20:36AM -0700, Sagi Grimberg wrote:
>
> > > > Hi Jens,
> > > >
> > > > The 1st patch add .mq_quiesce_mutex for serializing quiesce/unquiesce,
> > > > and prepares for replacing srcu with percpu_ref.
> > > >
> > > > The 2nd patch replaces srcu with percpu_ref.
> > > >
> > > > V2:
> > > > - add .mq_quiesce_lock
> > > > - add comment on patch 2 wrt. handling hctx_lock() failure
> > > > - trivial patch style change
> > > >
> > > >
> > > > Ming Lei (2):
> > > > blk-mq: serialize queue quiesce and unquiesce by mutex
> > > > blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING
>
> I thought we agreed to have a little more consolidation for blocking and
> !blocking paths (move fallbacks to common paths).
Could you describe the consolidation one more time for the two paths?
BTW, code will become a little messy if we move queue quiesce handling
out of __blk_mq_try_issue_directly(), because we have two conditions to
trigger insert request into scheduler queue:
1) hctx_lock() failure
2) blk_queue_quiesced() or blk_mq_hctx_stopped()
The former doesn't need to unlock hctx, however the latter needs that,
that is why I don't do the change if that is the consolidation you
mentioned.
>
> > > >
> > > > block/blk-core.c | 2 +
> > > > block/blk-mq-sysfs.c | 2 -
> > > > block/blk-mq.c | 125 +++++++++++++++++++++++------------------
> > > > block/blk-sysfs.c | 6 +-
> > > > include/linux/blk-mq.h | 7 ---
> > > > include/linux/blkdev.h | 6 ++
> > > > 6 files changed, 82 insertions(+), 66 deletions(-)
> > > >
> > > > Cc: Lai Jiangshan <jiangshanlai@gmail.com>
> > > > Cc: Paul E. McKenney <paulmck@kernel.org>
> > > > Cc: Josh Triplett <josh@joshtriplett.org>
> > > > Cc: Sagi Grimberg <sagi@grimberg.me>
> > > > Cc: Bart Van Assche <bvanassche@acm.org>
> > > > Cc: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>
> > > > Cc: Chao Leng <lengchao@huawei.com>
> > > > Cc: Christoph Hellwig <hch@lst.de>
> > >
> > > Hello Guys,
> > >
> > > Is there any objections on the two patches? If not, I'd suggest to move> on.
> >
> > Seems like the nested case is one that should either be handled, or at
> > least detected.
>
> Personally, I'd like to see the async quiesce piece as well here, which
> is the reason why this change was proposed. Don't see a strong urgency
> to move forward with it before that, especially as this could
> potentially affect various non-trivial reset flows.
OK, it shouldn't be easy to add the interface, will do that in next
version.
Thanks,
Ming
next prev parent reply other threads:[~2020-09-03 0:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-25 14:17 [PATCH V2 0/2] blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING Ming Lei
2020-08-25 14:17 ` [PATCH V2 1/2] blk-mq: serialize queue quiesce and unquiesce by mutex Ming Lei
2020-08-26 7:51 ` Chao Leng
2020-08-26 8:54 ` Ming Lei
2020-08-26 15:36 ` Keith Busch
2020-08-26 16:23 ` Sagi Grimberg
2020-08-27 2:38 ` Ming Lei
2020-08-25 14:17 ` [PATCH V2 2/2] blk-mq: implement queue quiesce via percpu_ref for BLK_MQ_F_BLOCKING Ming Lei
2020-09-02 3:11 ` [PATCH V2 0/2] " Ming Lei
2020-09-02 17:52 ` Jens Axboe
2020-09-02 18:20 ` Sagi Grimberg
2020-09-03 0:41 ` Ming Lei [this message]
2020-09-03 0:35 ` Ming Lei
2020-09-03 12:37 ` Keith Busch
2020-09-03 13:10 ` 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=20200903004157.GB638071@T590 \
--to=ming.lei@redhat.com \
--cc=Johannes.Thumshirn@wdc.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=hch@lst.de \
--cc=jiangshanlai@gmail.com \
--cc=josh@joshtriplett.org \
--cc=lengchao@huawei.com \
--cc=linux-block@vger.kernel.org \
--cc=paulmck@kernel.org \
--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 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.