]> git.karo-electronics.de Git - karo-tx-linux.git/commit
percpu_ida: make percpu_ida percpu size/batch configurable
authorShaohua Li <shli@kernel.org>
Tue, 15 Oct 2013 01:05:01 +0000 (09:05 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Oct 2013 10:23:22 +0000 (11:23 +0100)
commit205562e0ecbdd510a2360e0406befbb487a86d55
treeba2e90a6b6022d14f0eb2824769aa716e8b98dd8
parent5809777ebdc026f1535fecedf32d7fc8e4a435ed
percpu_ida: make percpu_ida percpu size/batch configurable

Make percpu_ida percpu size/batch configurable. The block-mq-tag will
use it.

After block-mq uses percpu_ida to manage tags, performance is improved.
My test is done in a 2 sockets machine, 12 process cross the 2 sockets.
So if there is lock contention or ipi, should be stressed heavily.
Testing is done for null-blk.

hw_queue_depth nopatch iops patch iops
64 ~800k/s ~1470k/s
2048 ~4470k/s ~4340k/s

Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Shaohua Li <shli@fusionio.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/linux/percpu_ida.h
lib/percpu_ida.c