]> git.baikalelectronics.ru Git - kernel.git/commit
blk-mq: do limited block plug for multiple queue case
authorShaohua Li <shli@fb.com>
Fri, 8 May 2015 17:51:32 +0000 (10:51 -0700)
committerJens Axboe <axboe@fb.com>
Fri, 8 May 2015 20:17:21 +0000 (14:17 -0600)
commit955797096e0f3fd5522f46b82541838992a4f4bd
tree784392aa99ea4c7dfe11c4e332801838d3804b75
parent47b7b7a587ee14927538fda6023fa00db5f484ad
blk-mq: do limited block plug for multiple queue case

plug is still helpful for workload with IO merge, but it can be harmful
otherwise especially with multiple hardware queues, as there is
(supposed) no lock contention in this case and plug can introduce
latency. For multiple queues, we do limited plug, eg plug only if there
is request merge. If a request doesn't have merge with following
request, the requet will be dispatched immediately.

V2: check blk_queue_nomerges() as suggested by Jeff.

Cc: Jens Axboe <axboe@fb.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
block/blk-mq.c