diff options
author | Bart Van Assche <bvanassche@acm.org> | 2021-06-17 17:44:44 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2021-06-21 15:03:40 -0600 |
commit | 556910e39249d55e23deaec479f49e7d85bc0d24 (patch) | |
tree | a62be8dec496a444ab8e691e406ee33609939246 /block/blk-ioprio.h | |
parent | fb44023e70224c3bd9eb949bd3ab66876bd14c56 (diff) | |
download | linux-stable-556910e39249d55e23deaec479f49e7d85bc0d24.tar.gz linux-stable-556910e39249d55e23deaec479f49e7d85bc0d24.tar.bz2 linux-stable-556910e39249d55e23deaec479f49e7d85bc0d24.zip |
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>
Diffstat (limited to 'block/blk-ioprio.h')
-rw-r--r-- | block/blk-ioprio.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/block/blk-ioprio.h b/block/blk-ioprio.h new file mode 100644 index 000000000000..a7785c2f1aea --- /dev/null +++ b/block/blk-ioprio.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _BLK_IOPRIO_H_ +#define _BLK_IOPRIO_H_ + +#include <linux/kconfig.h> + +struct request_queue; + +#ifdef CONFIG_BLK_CGROUP_IOPRIO +int blk_ioprio_init(struct request_queue *q); +#else +static inline int blk_ioprio_init(struct request_queue *q) +{ + return 0; +} +#endif + +#endif /* _BLK_IOPRIO_H_ */ |