]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
blk-mq-sched: unify elevators checking for async requests
authorYu Kuai <yukuai@fnnas.com>
Tue, 3 Feb 2026 08:19:43 +0000 (16:19 +0800)
committerJens Axboe <axboe@kernel.dk>
Tue, 3 Feb 2026 14:45:36 +0000 (07:45 -0700)
commit1db61b0afdd7e8aa9289c423fdff002603b520b5
tree35f8e7299f29d041b0ffef960d62c3755307c366
parent9fc7900b14727d39457bd3724f26e6e3faca3efd
blk-mq-sched: unify elevators checking for async requests

bfq and mq-deadline consider sync writes as async requests and only
reserve tags for sync reads by async_depth, however, kyber doesn't
consider sync writes as async requests for now.

Consider the case there are lots of dirty pages, and user use fsync to
flush dirty pages. In this case sched_tags can be exhausted by sync writes
and sync reads can stuck waiting for tag. Hence let kyber follow what
mq-deadline and bfq did, and unify async requests checking for all
elevators.

Signed-off-by: Yu Kuai <yukuai@fnnas.com>
Reviewed-by: Nilay Shroff <nilay@linux.ibm.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bfq-iosched.c
block/blk-mq-sched.h
block/kyber-iosched.c
block/mq-deadline.c