Linux-Block Archive on
 help / color / Atom feed
From: Ming Lei <>
To: Jens Axboe <>
Cc:, Ming Lei <>,
	Josef Bacik <>,
	Christoph Hellwig <>,
	Bart Van Assche <>
Subject: [PATCH 0/3] block: queue exit cleanup
Date: Wed, 15 May 2019 11:03:07 +0800
Message-ID: <> (raw)


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/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 <>
Cc: Christoph Hellwig <>
Cc: Bart Van Assche <>


             reply index

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-Block Archive on

Archives are clonable:
	git clone --mirror linux-block/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-block linux-block/ \
	public-inbox-index linux-block

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone