Linux-Block Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH 0/3] block: queue exit cleanup
@ 2019-05-15  3:03 Ming Lei
  2019-05-15  3:03 ` [PATCH 1/3] block: move blk_exit_queue into __blk_release_queue Ming Lei
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Ming Lei @ 2019-05-15  3:03 UTC (permalink / raw)
  To: Jens Axboe
  Cc: linux-block, Ming Lei, Josef Bacik, Christoph Hellwig, Bart Van Assche

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, back to index

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-15  3:03 [PATCH 0/3] block: queue exit cleanup Ming Lei
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

Linux-Block Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-block/0 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/ https://lore.kernel.org/linux-block \
		linux-block@vger.kernel.org linux-block@archiver.kernel.org
	public-inbox-index linux-block

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-block


AGPL code for this site: git clone https://public-inbox.org/ public-inbox