block: add scalable completion tracking of requests
authorJens Axboe <axboe@fb.com>
Sat, 16 Apr 2016 00:56:45 +0000 (18:56 -0600)
committerJens Axboe <axboe@fb.com>
Tue, 26 Apr 2016 15:51:21 +0000 (09:51 -0600)
commitcd6f0baed7c95f8c2ce8abdc6144715adf00149b
tree3e9b69ce93a3cab31ec8b3679f9a35955d57639b
parent0e8634410d4dc1e2f85727b024fcd751ba8a5f88
block: add scalable completion tracking of requests

For legacy block, we simply track them in the request queue. For
blk-mq, we track them on a per-sw queue basis, which we can then
sum up through the hardware queues and finally to a per device
state.

The stats are tracked in, roughly, 0.1s interval windows.

Add sysfs files to display the stats.

Signed-off-by: Jens Axboe <axboe@fb.com>
block/Makefile
block/blk-core.c
block/blk-mq-sysfs.c
block/blk-mq.c
block/blk-mq.h
block/blk-stat.c [new file with mode: 0644]
block/blk-stat.h [new file with mode: 0644]
block/blk-sysfs.c
include/linux/blk_types.h
include/linux/blkdev.h