]> git.baikalelectronics.ru Git - kernel.git/commit
block: get rid of QUEUE_FLAG_REENTER
authorJens Axboe <jaxboe@fusionio.com>
Tue, 19 Apr 2011 11:32:46 +0000 (13:32 +0200)
committerJens Axboe <jaxboe@fusionio.com>
Tue, 19 Apr 2011 11:32:46 +0000 (13:32 +0200)
commit6056ed4529010f4d0a406678afedce7acafb3978
treecdf6f6d40130b95e641ab5db1de0f6ecc179054a
parent65c58d2688e5ff261b418e5ad48c1220b8c9f16a
block: get rid of QUEUE_FLAG_REENTER

We are currently using this flag to check whether it's safe
to call into ->request_fn(). If it is set, we punt to kblockd.
But we get a lot of false positives and excessive punts to
kblockd, which hurts performance.

The only real abuser of this infrastructure is SCSI. So export
the async queue run and convert SCSI over to use that. There's
room for improvement in that SCSI need not always use the async
call, but this fixes our performance issue and they can fix that
up in due time.

Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block/blk-core.c
block/blk.h
drivers/scsi/scsi_lib.c
drivers/scsi/scsi_transport_fc.c
include/linux/blkdev.h