Hi Jens, A feature that is missing from the Linux kernel for storage devices that support I/O priorities is to set the I/O priority in requests involving page cache writeback. Since the identity of the process that triggers page cache writeback is not known in the writeback code, the priority set by ioprio_set() is ignored. However, an I/O cgroup is associated with writeback requests by certain filesystems. Hence this patch series that implements the following changes for the mq-deadline scheduler: * Make the I/O priority configurable per I/O cgroup. * Change the I/O priority of requests to the lower of (request I/O priority, cgroup I/O priority). * Introduce one queue per I/O priority in the mq-deadline scheduler. Please consider this patch series for kernel v5.14. Thanks, Bart. Bart Van Assche (9): block/mq-deadline: Add several comments block/mq-deadline: Add two lockdep_assert_held() statements block/mq-deadline: Remove two local variables block/mq-deadline: Rename dd_init_queue() and dd_exit_queue() block/mq-deadline: Improve compile-time argument checking block/mq-deadline: Reduce the read expiry time for non-rotational media block/mq-deadline: Reserve 25% of tags for synchronous requests block/mq-deadline: Add I/O priority support block/mq-deadline: Add cgroup support block/Kconfig.iosched | 6 + block/Makefile | 1 + block/mq-deadline-cgroup.c | 206 +++++++++++++++ block/mq-deadline-cgroup.h | 73 ++++++ block/mq-deadline.c | 524 +++++++++++++++++++++++++++++-------- 5 files changed, 695 insertions(+), 115 deletions(-) create mode 100644 block/mq-deadline-cgroup.c create mode 100644 block/mq-deadline-cgroup.h