summaryrefslogtreecommitdiffstats
path: root/block/blk-mq-tag.c
diff options
context:
space:
mode:
authorJens Axboe2014-05-19 17:23:55 +0200
committerJens Axboe2014-05-19 19:02:47 +0200
commit1429d7c9467e1e3de0b0ff91d7e4d67c1a92f8a3 (patch)
tree3b15abb587392becc4ba37d0869d25a4d9420d1d /block/blk-mq-tag.c
parentblk-mq: move the cache friendly bitmap type of out blk-mq-tag (diff)
downloadkernel-qcow2-linux-1429d7c9467e1e3de0b0ff91d7e4d67c1a92f8a3.tar.gz
kernel-qcow2-linux-1429d7c9467e1e3de0b0ff91d7e4d67c1a92f8a3.tar.xz
kernel-qcow2-linux-1429d7c9467e1e3de0b0ff91d7e4d67c1a92f8a3.zip
blk-mq: switch ctx pending map to the sparser blk_align_bitmap
Each hardware queue has a bitmap of software queues with pending requests. When new IO is queued on a software queue, the bit is set, and when IO is pruned on a hardware queue run, the bit is cleared. This causes a lot of traffic. Switch this from the regular BITS_PER_LONG bitmap to a sparser layout, similarly to what was done for blk-mq tagging. 20% performance increase was observed for single threaded IO, and about 15% performanc increase on multiple threads driving the same device. Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block/blk-mq-tag.c')
0 files changed, 0 insertions, 0 deletions