block: Introduce the ioprio rq-qos policy
authorBart Van Assche <bvanassche@acm.org>
Fri, 18 Jun 2021 00:44:44 +0000 (17:44 -0700)
committerJens Axboe <axboe@kernel.dk>
Mon, 21 Jun 2021 21:03:40 +0000 (15:03 -0600)
commit556910e39249d55e23deaec479f49e7d85bc0d24
treea62be8dec496a444ab8e691e406ee33609939246
parentfb44023e70224c3bd9eb949bd3ab66876bd14c56
block: Introduce the ioprio rq-qos policy

Introduce an rq-qos policy that assigns an I/O priority to requests based
on blk-cgroup configuration settings. This policy has the following
advantages over the ioprio_set() system call:
- This policy is cgroup based so it has all the advantages of cgroups.
- While ioprio_set() does not affect page cache writeback I/O, this rq-qos
  controller affects page cache writeback I/O for filesystems that support
  assiociating a cgroup with writeback I/O. See also
  Documentation/admin-guide/cgroup-v2.rst.

Cc: Damien Le Moal <damien.lemoal@wdc.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Ming Lei <ming.lei@redhat.com>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Cc: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://lore.kernel.org/r/20210618004456.7280-5-bvanassche@acm.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Documentation/admin-guide/cgroup-v2.rst
block/Kconfig
block/Makefile
block/blk-cgroup.c
block/blk-ioprio.c [new file with mode: 0644]
block/blk-ioprio.h [new file with mode: 0644]
block/blk-mq-debugfs.c
block/blk-rq-qos.h