mirror-linux/block
Yu Kuai 1db61b0afd 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>
2026-02-03 07:45:36 -07:00
..
partitions block: Replace snprintf with strscpy in check_partition 2026-01-28 05:28:13 -07:00
Kconfig block: Remove obsolete configs BLK_MQ_{PCI,VIRTIO} 2025-05-14 05:43:56 -06:00
Kconfig.iosched
Makefile blk-mq: move the DMA mapping code to a separate file 2025-05-16 08:43:41 -06:00
badblocks.c badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0 2025-03-10 07:41:58 -06:00
bdev.c vfs-6.19-rc1.inode 2025-12-01 09:02:34 -08:00
bfq-cgroup.c block,bfq: fix aux stat accumulation destination 2025-12-28 09:03:51 -07:00
bfq-iosched.c blk-mq-sched: unify elevators checking for async requests 2026-02-03 07:45:36 -07:00
bfq-iosched.h block, bfq: update outdated comment 2026-01-01 08:57:37 -07:00
bfq-wf2q.c
bio-integrity-auto.c Merge branch 'block-6.19' into for-7.0/block 2026-01-11 13:16:36 -07:00
bio-integrity.c block: make bio auto-integrity deadlock safe 2025-11-04 12:41:50 -07:00
bio.c block: don't initialize bi_vcnt for cloned bio in bio_iov_bvec_set() 2026-01-07 08:06:33 -07:00
blk-cgroup-fc-appid.c
blk-cgroup-rwstat.c blk-cgroup: use group allocation/free of per-cpu counters API 2024-04-03 09:10:17 -06:00
blk-cgroup-rwstat.h blk-cgroup: rwstat: fix kernel-doc warnings in header file 2025-01-13 07:47:09 -07:00
blk-cgroup.c block: Remove elevator_lock usage from blkg_conf frozen operations 2025-10-15 08:00:19 -06:00
blk-cgroup.h block: initialize bio issue time in blk_mq_submit_bio() 2025-09-10 05:23:45 -06:00
blk-core.c block: improve blk_op_str() comment 2026-01-15 10:19:09 -07:00
blk-crypto-fallback.c blk-crypto: optimize data unit alignment checking 2026-01-11 12:55:41 -07:00
blk-crypto-internal.h blk-crypto: handle the fallback above the block layer 2026-01-11 12:55:41 -07:00
blk-crypto-profile.c blk-crypto: export wrapped key functions 2025-05-06 19:08:08 +02:00
blk-crypto-sysfs.c blk-crypto: show supported key types in sysfs 2025-02-10 09:54:19 -07:00
blk-crypto.c blk-crypto: handle the fallback above the block layer 2026-01-11 12:55:41 -07:00
blk-flush.c block: pass io_comp_batch to rq_end_io_fn callback 2026-01-20 10:12:54 -07:00
blk-ia-ranges.c block: get rid of request queue ->sysfs_dir_lock 2025-01-29 07:16:47 -07:00
blk-integrity.c block: don't merge bios with different app_tags 2026-01-06 19:10:08 -07:00
blk-ioc.c copy_process: pass clone_flags as u64 across calltree 2025-09-01 15:31:34 +02:00
blk-iocost.c block: introduce blk_queue_rot() 2026-01-29 13:15:50 -07:00
blk-iolatency.c block: introduce blk_queue_rot() 2026-01-29 13:15:50 -07:00
blk-ioprio.c blk-cgroup: Simplify policy files registration 2025-03-11 09:22:55 -10:00
blk-ioprio.h blk-ioprio: remove per-disk structure 2024-07-28 16:47:51 -06:00
blk-lib.c block: fix memory leak in __blkdev_issue_zero_pages 2025-12-04 15:43:28 -07:00
blk-map.c block: use bio_alloc_bioset for passthru IO by default 2025-12-04 07:18:54 -07:00
blk-merge.c blk-crypto: optimize data unit alignment checking 2026-01-11 12:55:41 -07:00
blk-mq-cpumap.c blk-mq: add number of queue calc helper 2025-07-01 10:24:19 -06:00
blk-mq-debugfs.c blk-mq-debugfs: warn about possible deadlock 2026-02-02 07:05:19 -07:00
blk-mq-debugfs.h blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos() 2026-02-02 07:05:19 -07:00
blk-mq-dma.c Merge branch 'for-7.0/blk-pvec' into for-7.0/block 2026-01-18 06:27:37 -07:00
blk-mq-sched.c block: use {alloc|free}_sched data methods 2025-11-13 09:27:49 -07:00
blk-mq-sched.h blk-mq-sched: unify elevators checking for async requests 2026-02-03 07:45:36 -07:00
blk-mq-sysfs.c blk-mq: Move flush queue allocation into blk_mq_init_hctx() 2025-09-08 08:05:32 -06:00
blk-mq-tag.c blk-mq: use array manage hctx map instead of xarray 2025-11-28 09:09:19 -07:00
blk-mq.c block: pass io_comp_batch to rq_end_io_fn callback 2026-01-20 10:12:54 -07:00
blk-mq.h blk-mq: use queue_hctx in blk_mq_map_queue_type 2025-12-01 07:18:31 -07:00
blk-pm.c block: force noio scope in blk_mq_freeze_queue 2025-01-31 07:20:08 -07:00
blk-pm.h
blk-rq-qos.c blk-mq-debugfs: remove blk_mq_debugfs_unregister_rqos() 2026-02-02 07:05:19 -07:00
blk-rq-qos.h blk-rq-qos: Remove unlikely() hints from QoS checks 2026-01-06 19:08:23 -07:00
blk-settings.c block: validate interval_exp integrity limit 2025-12-18 09:51:49 -07:00
blk-stat.c treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
blk-stat.h treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
blk-sysfs.c blk-wbt: factor out a helper wbt_set_lat() 2026-02-02 07:05:19 -07:00
blk-throttle.c block/blk-throttle: Remove throtl_slice from struct throtl_data 2025-11-17 09:39:48 -07:00
blk-throttle.h blk-throttle: fix access race during throttle policy activation 2025-09-08 08:24:44 -06:00
blk-timeout.c
blk-wbt.c blk-rq-qos: fix possible debugfs_mutex deadlock 2026-02-02 07:05:19 -07:00
blk-wbt.h blk-wbt: factor out a helper wbt_set_lat() 2026-02-02 07:05:19 -07:00
blk-zoned.c block: fix blk_zone_cond_str() comment 2026-01-15 10:19:08 -07:00
blk.h block: account for bi_bvec_done in bio_may_need_split() 2026-01-10 10:22:54 -07:00
bsg-lib.c block: remove unused parameter 'q' parameter in __blk_rq_map_sg() 2025-03-13 05:46:19 -06:00
bsg.c
disk-events.c
early-lookup.c wrapper for access to ->bd_partno 2024-05-02 17:48:09 -04:00
elevator.c block: fix race between wbt_enable_default and IO submission 2025-12-12 12:51:11 -07:00
elevator.h block: fix race between wbt_enable_default and IO submission 2025-12-12 12:51:11 -07:00
fops.c block: enable per-cpu bio cache by default 2025-12-04 07:19:24 -07:00
genhd.c block: Remove references to __device_add_disk() 2025-11-25 10:36:37 -07:00
holder.c block: fix deadlock between bd_link_disk_holder and partition scan 2024-02-23 07:44:19 -07:00
ioctl.c block: introduce bdev_rot() 2026-01-30 08:11:09 -07:00
ioprio.c block: remove test of incorrect io priority level 2025-05-08 09:04:12 -06:00
kyber-iosched.c blk-mq-sched: unify elevators checking for async requests 2026-02-03 07:45:36 -07:00
mq-deadline.c blk-mq-sched: unify elevators checking for async requests 2026-02-03 07:45:36 -07:00
opal_proto.h block: sed-opal: handle empty atoms when parsing response 2024-02-16 15:52:45 -07:00
sed-opal.c sed-opal: ignore locking ranges array when not enabling SUM. 2026-02-02 07:04:43 -07:00
t10-pi.c block: rename tuple_size field in blk_integrity to metadata_size 2025-07-01 14:00:14 +02:00