From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, Ming Lei <ming.lei@redhat.com>,
Josef Bacik <josef@toxicpanda.com>,
Christoph Hellwig <hch@lst.de>,
Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH 0/3] block: queue exit cleanup
Date: Wed, 15 May 2019 11:03:07 +0800 [thread overview]
Message-ID: <20190515030310.20393-1-ming.lei@redhat.com> (raw)
Hi,
For fixing queue lock switching back related issue, commit 498f6650aec8
("block: Fix a race between the cgroup code and request queue initialization")
moves what blk_exit_queue() does into blk_cleanup_queue(). Turns out
it requires to protect generic_make_request_checks with blk_queue_enter,
then we have to hold the queue usage counter before
generic_make_request_checks(). This way makes generic_make_request()
code quite complicated and not easy to maintain.
After killing legacy request IO path, there isn't driver private queue
lock story, then no such issue addressed by 498f6650aec8 any more.
So revert the following commits and clean up related code much.
498f6650aec8 block: Fix a race between the cgroup code and request queue initialization
37f9579f4c31 blk-mq: Avoid that submitting a bio concurrently with device removal triggers a crash
cd4a4ae4683d block: don't use blocking queue entered for recursive bio submits
24ecc3585348 block: Ensure that a request queue is dissociated from the cgroup controller
Ming Lei (3):
block: move blk_exit_queue into __blk_release_queue
block: don't protect generic_make_request_checks with blk_queue_enter
block: rename BIO_QUEUE_ENTERED as BIO_SPLITTED
block/blk-core.c | 74 ++++----------------------------------
block/blk-merge.c | 10 +-----
block/blk-sysfs.c | 47 ++++++++++++++++--------
block/blk.h | 1 -
include/linux/blk-cgroup.h | 4 +--
include/linux/blk_types.h | 2 +-
6 files changed, 42 insertions(+), 96 deletions(-)
Cc: Josef Bacik <josef@toxicpanda.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Bart Van Assche <bvanassche@acm.org>
--
2.20.1
next reply other threads:[~2019-05-15 3:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-15 3:03 Ming Lei [this message]
2019-05-15 3:03 ` [PATCH 1/3] block: move blk_exit_queue into __blk_release_queue Ming Lei
2019-05-21 12:53 ` Christoph Hellwig
2019-05-15 3:03 ` [PATCH 2/3] block: don't protect generic_make_request_checks with blk_queue_enter Ming Lei
2019-05-21 12:57 ` Christoph Hellwig
2019-05-15 3:03 ` [PATCH 3/3] block: rename BIO_QUEUE_ENTERED as BIO_SPLITTED Ming Lei
2019-05-15 16:01 ` Josef Bacik
2019-05-21 12:59 ` Christoph Hellwig
2019-05-29 6:52 ` [PATCH 0/3] block: queue exit cleanup Christoph Hellwig
2019-05-29 12:25 ` Jens Axboe
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=20190515030310.20393-1-ming.lei@redhat.com \
--to=ming.lei@redhat.com \
--cc=axboe@kernel.dk \
--cc=bvanassche@acm.org \
--cc=hch@lst.de \
--cc=josef@toxicpanda.com \
--cc=linux-block@vger.kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).