Jens Axboe
77f1e0a52d
bfq: update internal depth state when queue depth changes
...
A previous commit moved the shallow depth and BFQ depth map calculations
to be done at init time, moving it outside of the hotter IO path. This
potentially causes hangs if the users changes the depth of the scheduler
map, by writing to the 'nr_requests' sysfs file for that device.
Add a blk-mq-sched hook that allows blk-mq to inform the scheduler if
the depth changes, so that the scheduler can update its internal state.
Tested-by: Kai Krakow <kai@kaishome.de>
Reported-by: Paolo Valente <paolo.valente@linaro.org>
Fixes: f0635b8a41 ("bfq: calculate shallow depths at init time")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-04-13 19:08:22 -06:00
..
partitions
partitions/aix: append null character to print data from disk
2018-07-27 09:17:41 -06:00
badblocks.c
bfq-cgroup.c
blkcg: fix ref count issue with bio_blkcg() using task_css
2018-12-07 22:26:36 -07:00
bfq-iosched.c
bfq: update internal depth state when queue depth changes
2019-04-13 19:08:22 -06:00
bfq-iosched.h
block, bfq: fix use after free in bfq_bfqq_expire
2019-04-10 07:54:38 -06:00
bfq-wf2q.c
block, bfq: fix use after free in bfq_bfqq_expire
2019-04-10 07:54:38 -06:00
bio-integrity.c
block: remove the bio_integrity_advance export
2018-12-16 08:33:57 -07:00
bio.c
block: do not leak memory in bio_copy_user_iov()
2019-04-10 16:14:40 -06:00
blk-cgroup.c
blkcg: Fix kernel-doc warnings
2019-03-20 14:39:09 -06:00
blk-core.c
block: Revert v5.0 blk_mq_request_issue_directly() changes
2019-04-05 09:40:46 -06:00
blk-exec.c
block: remove dead elevator code
2018-11-07 13:42:32 -07:00
blk-flush.c
blk-mq: use blk_mq_put_driver_tag() to put tag
2019-03-24 10:26:16 -06:00
blk-integrity.c
block: merge BIOVEC_SEG_BOUNDARY into biovec_phys_mergeable
2018-09-24 12:33:57 -06:00
blk-ioc.c
block: remove the queue_lock indirection
2018-11-15 12:17:28 -07:00
blk-iolatency.c
blk-iolatency: #include "blk.h"
2019-03-20 14:19:38 -06:00
blk-lib.c
block: fix 32 bit overflow in __blkdev_issue_discard()
2018-11-14 08:17:18 -07:00
blk-map.c
blk-merge.c
block: fix segment calculation for passthrough IO
2019-03-06 09:42:54 -07:00
blk-mq-cpumap.c
blk-mq: initial support for multiple queue maps
2018-11-07 13:45:00 -07:00
blk-mq-debugfs-zoned.c
block: Cleanup license notice
2019-01-17 21:21:40 -07:00
blk-mq-debugfs.c
SCSI misc on 20190306
2019-03-09 16:53:47 -08:00
blk-mq-debugfs.h
blk-mq-debugfs: support rq_qos
2018-12-16 19:53:47 -07:00
blk-mq-pci.c
blk-mq: initial support for multiple queue maps
2018-11-07 13:45:00 -07:00
blk-mq-rdma.c
blk-mq-rdma: pass in queue map to blk_mq_rdma_map_queues
2018-12-13 09:59:08 +01:00
blk-mq-sched.c
block: Revert v5.0 blk_mq_request_issue_directly() changes
2019-04-05 09:40:46 -06:00
blk-mq-sched.h
block: mq-deadline: Fix write completion handling
2018-12-17 11:19:39 -07:00
blk-mq-sysfs.c
blk-mq: export hctx->type in debugfs instead of sysfs
2018-12-17 05:44:45 -07:00
blk-mq-tag.c
blk-mq: save queue mapping result into ctx directly
2019-02-01 08:33:04 -07:00
blk-mq-tag.h
blk-mq-virtio.c
blk-mq: initial support for multiple queue maps
2018-11-07 13:45:00 -07:00
blk-mq.c
bfq: update internal depth state when queue depth changes
2019-04-13 19:08:22 -06:00
blk-mq.h
block: Revert v5.0 blk_mq_request_issue_directly() changes
2019-04-05 09:40:46 -06:00
blk-pm.c
block: remove the queue_lock indirection
2018-11-15 12:17:28 -07:00
blk-pm.h
block: remove the queue_lock indirection
2018-11-15 12:17:28 -07:00
blk-rq-qos.c
blk-mq-debugfs: support rq_qos
2018-12-16 19:53:47 -07:00
blk-rq-qos.h
block: fix blk-iolatency accounting underflow
2018-12-17 11:19:54 -07:00
blk-settings.c
block: kill QUEUE_FLAG_FLUSH_NQ
2019-02-09 15:40:24 -07:00
blk-softirq.c
block: remove a few unused exports
2018-11-15 12:13:25 -07:00
blk-stat.c
block: remove a few unused exports
2018-11-15 12:13:25 -07:00
blk-stat.h
block: deactivate blk_stat timer in wbt_disable_default()
2018-12-12 06:47:51 -07:00
blk-sysfs.c
block: add BLK_MQ_POLL_CLASSIC for hybrid poll and return EINVAL for unexpected value
2019-03-20 14:02:07 -06:00
blk-throttle.c
blkcg: consolidate bio_issue_init() to be a part of core
2018-12-07 22:26:37 -07:00
blk-timeout.c
block: don't hold the queue_lock over blk_abort_request
2018-11-15 12:13:18 -07:00
blk-wbt.c
blk-wbt: Declare local functions static
2019-01-24 11:09:21 -07:00
blk-wbt.h
block: remove external dependency on wbt_flags
2018-07-09 09:07:54 -06:00
blk-zoned.c
for-4.21/block-20181221
2018-12-28 13:19:59 -08:00
blk.h
blk-mq: save queue mapping result into ctx directly
2019-02-01 08:33:04 -07:00
bounce.c
block: bounce: make sure that bvec table is updated
2019-02-21 10:58:44 -07:00
bsg-lib.c
scsi: bsg-lib: handle bidi requests without block layer help
2019-02-05 21:27:40 -05:00
bsg.c
scsi: bsg-lib: handle bidi requests without block layer help
2019-02-05 21:27:40 -05:00
cmdline-parser.c
compat_ioctl.c
elevator.c
block: avoid setting none scheduler if it's already none
2019-02-11 08:21:40 -07:00
genhd.c
block: Replace function name in string with __func__
2019-02-28 14:09:08 -07:00
ioctl.c
block: Introduce BLKGETNRZONES ioctl
2018-10-25 11:17:40 -06:00
ioprio.c
Kconfig
Kconfig updates for v4.21
2018-12-29 13:03:29 -08:00
Kconfig.iosched
block: remove legacy IO schedulers
2018-11-07 13:42:32 -07:00
kyber-iosched.c
kyber: use sbitmap add_wait_queue/list_del wait helpers
2018-12-20 12:17:21 -07:00
Makefile
block: remove legacy IO schedulers
2018-11-07 13:42:32 -07:00
mq-deadline.c
block: mq-deadline: Fix write completion handling
2018-12-17 11:19:39 -07:00
opal_proto.h
partition-generic.c
block: return just one value from part_in_flight
2018-12-10 08:30:38 -07:00
scsi_ioctl.c
sed-opal.c
t10-pi.c
block: move dif_prepare/dif_complete functions to block layer
2018-07-30 08:27:02 -06:00