aboutsummaryrefslogtreecommitdiffstats
path: root/block/elevator.c
AgeCommit message (Expand)AuthorFilesLines
2026-03-05block: use trylock to avoid lockdep circular dependency in sysfsMing Lei1-1/+11
2026-02-03blk-mq: add a new queue sysfs attribute async_depthYu Kuai1-0/+1
2025-12-12block: fix race between wbt_enable_default and IO submissionMing Lei1-4/+0
2025-11-13block: use {alloc|free}_sched data methodsNilay Shroff1-12/+22
2025-11-13block: move elevator tags into struct elevator_resourcesNilay Shroff1-15/+16
2025-11-13block: unify elevator tags and type xarrays into struct elv_change_ctxNilay Shroff1-24/+7
2025-09-10blk-mq-sched: add new parameter nr_requests in blk_mq_alloc_sched_tags()Yu Kuai1-1/+2
2025-07-30block: fix potential deadlock while running nr_hw_queue updateNilay Shroff1-9/+6
2025-07-30block: fix lockdep warning caused by lock dependency in elv_iosched_storeNilay Shroff1-6/+34
2025-07-30block: move elevator queue allocation logic into blk_mq_init_schedNilay Shroff1-1/+0
2025-07-28Merge tag 'for-6.17/block-20250728' of git://git.kernel.dk/linuxLinus Torvalds1-5/+5
2025-07-25block: restore two stage elevator switch while running nr_hw_queue updateNilay Shroff1-5/+5
2025-07-20block: fix module reference leak in mq-deadline I/O schedulerNilay Shroff1-6/+13
2025-05-15block: fix elv_update_nr_hw_queues() to reattach elevatorNilay Shroff1-1/+1
2025-05-06block: move wbt_enable_default() out of queue freezing from sched ->exit()Ming Lei1-0/+5
2025-05-06block: move elv_register[unregister]_queue out of elevator_lockMing Lei1-16/+52
2025-05-06block: add new helper for disabling elevator switch when deleting diskMing Lei1-3/+10
2025-05-06block: fail to show/store elevator sysfs attribute if elevator is dyingMing Lei1-4/+6
2025-05-06block: remove elevator queue's type check in elv_attr_show/store()Ming Lei1-2/+2
2025-05-06block: pass elevator_queue to elv_register_queue & unregister_queueMing Lei1-7/+7
2025-05-06block: unifying elevator changeMing Lei1-63/+53
2025-05-06block: add `struct elv_change_ctx` for unifying elevator changeMing Lei1-16/+23
2025-05-06block: move queue freezing & elevator_lock into elevator_change()Ming Lei1-8/+12
2025-05-06block: simplify elevator reattachment for updating nr_hw_queuesMing Lei1-1/+19
2025-05-06block: move blk_queue_registered() check into elv_iosched_store()Ming Lei1-4/+4
2025-05-06block: fold elevator_disable into elevator_switchChristoph Hellwig1-38/+23
2025-05-06block: look up the elevator type in elevator_switchChristoph Hellwig1-10/+8
2025-05-06block: don't allow to switch elevator if updating nr_hw_queues is in-progressMing Lei1-0/+3
2025-05-06block: move sched debugfs register into elvevator_register_queueMing Lei1-0/+8
2025-05-06block: use q->elevator with ->elevator_lock held in elv_iosched_show()Ming Lei1-2/+1
2025-05-06block: don't call freeze queue in elevator_switch() and elevator_disable()Ming Lei1-7/+2
2025-03-10block: introduce a dedicated lock for protecting queue elevator updatesNilay Shroff1-19/+16
2025-03-10block: move q->sysfs_lock and queue-freeze under show/store methodNilay Shroff1-2/+18
2025-01-31block: force noio scope in blk_mq_freeze_queueChristoph Hellwig1-6/+10
2025-01-06block: remove BLK_MQ_F_NO_SCHEDChristoph Hellwig1-20/+0
2025-01-02elevator: Enable const sysfs attributesThomas Weißschuh1-4/+4
2024-12-23block: don't verify queue freeze manually in elevator_init_mq()Ming Lei1-5/+2
2024-12-23block: track disk DEAD state automatically for modeling queue freeze lockdepMing Lei1-2/+2
2024-11-07block: don't verify IO lock for freeze/unfreeze in elevator_init_mq()Ming Lei1-2/+8
2024-10-22block: return void from the queue_sysfs_entry load_module methodChristoph Hellwig1-5/+3
2024-10-11elevator: Remove argument from elevator_find_getBreno Leitao1-4/+3
2024-10-11elevator: do not request_module if elevator existsBreno Leitao1-1/+9
2024-10-07block: Fix elevator_get_default() checking for NULL q->tag_setSurajSonawane24151-2/+2
2024-09-17block: Fix elv_iosched_local_module handling of "none" schedulerDamien Le Moal1-1/+3
2024-09-10block: Prevent deadlocks when switching elevatorsDamien Le Moal1-6/+15
2024-06-28block: pass a gendisk to the queue_sysfs_entry methodsChristoph Hellwig1-4/+5
2024-04-17block: Remove elevator required featuresDamien Le Moal1-41/+5
2023-08-19blk-mq: release scheduler resource when request completesChengming Zhou1-0/+3
2023-06-01block: Replace all non-returning strlcpy with strscpyAzeem Shaikh1-1/+1
2023-02-09block: make kobj_type structures constantThomas Weißschuh1-2/+2
2022-11-30block: untangle request_queue refcounting from sysfsChristoph Hellwig1-1/+1
2022-11-29block: use bool as the return type of elv_iosched_allow_bio_mergeJinlong Chen1-2/+2
2022-11-29block: replace "len+name" with "name+len" in elv_iosched_showJinlong Chen1-1/+1
2022-11-29block: always use 'e' when printing scheduler nameJinlong Chen1-1/+1
2022-11-29block: replace continue with else-if in elv_iosched_showJinlong Chen1-4/+2
2022-11-29block: include 'none' for initial elv_iosched_show callJinlong Chen1-5/+4
2022-11-23elevator: remove an outdated comment in elevator_changeJinlong Chen1-3/+0
2022-11-23elevator: update the document of elevator_matchJinlong Chen1-3/+2
2022-11-23elevator: printk a warning if switching to a new io scheduler failsJinlong Chen1-0/+6
2022-11-23elevator: update the document of elevator_switchJinlong Chen1-4/+4
2022-11-07block: Fix some kernel-doc commentsYang Li1-1/+0
2022-11-01block: split elevator_switchChristoph Hellwig1-39/+38
2022-11-01block: don't check for required features in elevator_matchChristoph Hellwig1-35/+16
2022-11-01block: simplify the check for the current elevator in elv_iosched_showChristoph Hellwig1-1/+1
2022-11-01block: cleanup the variable naming in elv_iosched_storeChristoph Hellwig1-9/+8
2022-11-01block: exit elv_iosched_show early when I/O schedulers are not supportedChristoph Hellwig1-3/+2
2022-11-01block: cleanup elevator_getChristoph Hellwig1-15/+10
2022-10-23block: fix up elevator_type refcountingJinlong Chen1-3/+7
2022-10-23block: check for an unchanged elevator earlier in __elevator_changeJinlong Chen1-6/+3
2022-10-23block: sanitize the elevator name before passing it to __elevator_changeChristoph Hellwig1-8/+7
2022-10-23block: add proper helpers for elevator_type module refcount managementChristoph Hellwig1-7/+2
2022-10-23elevator: add new field flags in struct elevator_queueYu Kuai1-4/+2
2022-10-23elevator: remove redundant code in elv_unregister_queue()Yu Kuai1-2/+0
2022-09-27blk-mq: use quiesced elevator switch when reinitializing queuesKeith Busch1-2/+2
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-8/+8
2022-03-08block: do more work in elevator_exitChristoph Hellwig1-3/+3
2022-02-28block: simplify calling convention of elv_unregister_queue()Eric Biggers1-4/+4
2022-02-17block/wbt: fix negative inflight counter when remove scsi deviceLaibin Qiu1-2/+0
2022-02-11block: partition include/linux/blk-cgroup.hMing Lei1-1/+1
2021-11-29block: remove the e argument to elevator_exitChristoph Hellwig1-3/+5
2021-11-29block: remove elevator_exitChristoph Hellwig1-1/+3
2021-11-17block: avoid to quiesce queue in elevator_init_mqMing Lei1-2/+8
2021-10-18blk-mq: Change shared sbitmap naming to shared tagsJohn Garry1-1/+1
2021-10-18block: move elevator.h to block/Christoph Hellwig1-1/+1
2021-08-09block: return ELEVATOR_DISCARD_MERGE if possibleMing Lei1-0/+3
2021-08-09block: remove support for delayed queue registrationsChristoph Hellwig1-1/+0
2021-08-05blk-mq: Introduce the BLK_MQ_F_NO_SCHED_BY_DEFAULT flagBart Van Assche1-0/+3
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-3/+8
2021-06-18block: Remove unnecessary elevator operation checksDamien Le Moal1-0/+4
2021-06-11blk-mq: improve the blk_mq_init_allocated_queue interfaceChristoph Hellwig1-1/+1
2021-04-07blk-mq: set default elevator as deadline in case of hctx shared tagsetMing Lei1-1/+2
2020-10-09block: fix comment and add lockdep assertYufen Yu1-10/+4
2020-10-09block: use helper function to test queue registerYufen Yu1-1/+1
2020-10-09block: remove redundant mq checkYufen Yu1-2/+2
2020-10-09block: invoke blk_mq_exit_sched no matter whether have .exit_schedYufen Yu1-2/+1
2020-07-31block: elevator: delete duplicated word and fix typosRandy Dunlap1-2/+2
2019-11-07Merge branch 'for-linus' into for-5.5/blockJens Axboe1-1/+2
2019-11-06block: Warn if elevator= parameter is usedJan Kara1-0/+9
2019-10-14block: Fix elv_support_iosched()Damien Le Moal1-1/+2
2019-09-26block: don't release queue's sysfs lock during switching elevatorMing Lei1-30/+1
2019-09-06block: fix elevator_get_by_features()Jens Axboe1-6/+7
2019-09-05block: Delay default elevator initializationDamien Le Moal1-0/+7
2019-09-05block: Improve default elevator selectionDamien Le Moal1-7/+44
2019-09-05block: Introduce elevator featuresDamien Le Moal1-11/+38
2019-09-05block: Change elevator_init_mq() to always succeedDamien Le Moal1-11/+12
2019-09-05block: Cleanup elevator_init_mq() useDamien Le Moal1-10/+13
2019-09-03block: elevator.c: Remove now unused elevator= argumentMarcos Paulo de Souza1-14/+0
2019-08-27block: split .sysfs_lock into two locksMing Lei1-8/+47
2019-08-27block: add helper for checking if queue is registeredMing Lei1-1/+1
2019-08-27block: don't hold q->sysfs_lock in elevator_init_mqMing Lei1-9/+5
2019-06-06block: free sched's request pool in blk_cleanup_queueMing Lei1-1/+1
2019-04-30block: add SPDX tags to block layer files missing licensing informationChristoph Hellwig1-0/+1
2019-04-08block: remove unused variable 'def'Hisao Tanabe1-4/+2
2019-02-11block: avoid setting none scheduler if it's already noneAleksei Zakharov1-1/+4
2018-11-16block: add queue_is_mq() helperJens Axboe1-6/+5
2018-11-14block: clean up dead code that is now redundantColin Ian King1-7/+0
2018-11-07block: get rid of MQ scheduler ops unionJens Axboe1-13/+13
2018-11-07block: remove dead elevator codeJens Axboe1-355/+22
2018-11-07block: remove legacy IO schedulersJens Axboe1-70/+0
2018-10-01Merge tag 'v4.19-rc6' into for-4.20/blockJens Axboe1-1/+1
2018-09-26block: fix deadline elevator drain for zoned block devicesDamien Le Moal1-1/+1
2018-09-26block: Schedule runtime resume earlierBart Van Assche1-1/+0
2018-09-26block: Split blk_pm_add_request() and blk_pm_put_request()Bart Van Assche1-0/+1
2018-09-26block: Move power management code into a new source fileBart Van Assche1-21/+1
2018-08-27block: remove unnecessary condition checkChengguang Xu1-2/+1
2018-08-21blk-mq: init hctx sched after update ctx and hctx mappingJianchao Wang1-8/+12
2018-06-01block: split the blk-mq case from elevator_initChristoph Hellwig1-31/+46
2018-06-01block: move sysfs_lock into elevator_initChristoph Hellwig1-5/+6
2018-06-01block: remove the always unused name argument to elevator_initChristoph Hellwig1-8/+2
2018-06-01block: unexport elevator_init/exitChristoph Hellwig1-2/+0
2018-06-01block: move initialization of elevator-related fields to blk_alloc_queue_nodeChristoph Hellwig1-5/+0
2018-01-18block: Document scheduler modification locking requirementsBart Van Assche1-0/+8
2018-01-18block: Unexport elv_register_queue() and elv_unregister_queue()Bart Van Assche1-2/+0
2018-01-06blk-mq: quiesce queue during switching io sched and updating nr_requestsMing Lei1-0/+2
2017-10-25elevator: allow name aliasesJens Axboe1-6/+17
2017-10-25elevator: lookup mq vs non-mq elevatorsJens Axboe1-23/+21
2017-10-05block: remove QUEUE_FLAG_STACKABLEChristoph Hellwig1-1/+1
2017-08-28block: fix warning when I/O elevator is changed as request_queue is being rem...David Jeffery1-0/+4
2017-06-21block: Add fallthrough markers to switch statementsBart Van Assche1-0/+1
2017-05-10elevator: remove redundant warnings on IO scheduler switchJens Axboe1-4/+1
2017-05-02block: don't call blk_mq_quiesce_queue() after queue is frozenMing Lei1-3/+0
2017-05-02block: Remove elevator_change()Bart Van Assche1-13/+0
2017-05-01Merge branch 'for-4.12/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+3
2017-04-19block: respect BLK_MQ_F_NO_SCHEDMing Lei1-2/+10
2017-04-19block: Make writeback throttling defaults consistent for SQ devicesJan Kara1-0/+3
2017-04-07blk-mq-sched: fix crash in switch error pathOmar Sandoval1-41/+53
2017-04-07blk-mq-sched: refactor scheduler initializationOmar Sandoval1-20/+12
2017-03-02block: don't call ioc_exit_icq() with the queue lock held for blk-mqJens Axboe1-2/+0
2017-02-22block: get rid of blk-mq default scheduler choice Kconfig entriesJens Axboe1-6/+13
2017-02-17Merge branch 'for-4.11/next' into for-4.11/linus-mergeJens Axboe1-7/+9
2017-02-14elevator: fix loading wrong elevator type for blk-mq devicesJens Axboe1-4/+5
2017-02-08block: enumify ELEVATOR_*_MERGEChristoph Hellwig1-4/+6
2017-02-01blk-mq-debug: Avoid that sparse complains about req_flags_t usageBart Van Assche1-1/+1
2017-01-31block: introduce blk_rq_is_passthroughChristoph Hellwig1-2/+2
2017-01-19elevator: fix unnecessary put of elevator in failure caseJens Axboe1-4/+0
2017-01-17blk-mq-sched: allow setting of default IO schedulerJens Axboe1-1/+7
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-44/+158
2017-01-17block: move existing elevator ops to unionJens Axboe1-30/+30
2016-12-09elevator: make the rqhash helpers exportedJens Axboe1-4/+4
2016-10-28block: better op and flags encodingChristoph Hellwig1-2/+2
2016-10-28block: split out request-only flags into a new namespaceChristoph Hellwig1-17/+15
2016-08-16block: Fix secure eraseAdrian Hunter1-1/+1
2016-07-20block: do not merge requests without consulting with io schedulerTahsin Erdogan1-11/+11
2016-06-07block: prepare elevator to use REQ_OPs.Mike Christie1-4/+3
2015-10-21block: check bio_mergeable() early before mergingMing Lei1-1/+1
2015-06-25Merge branch 'for-4.2/writeback' of git://git.kernel.dk/linux-blockLinus Torvalds1-1/+1
2015-06-25Merge branch 'for-4.2/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+2
2015-06-10cfq-iosched: fix the setting of IOPS mode on SSDsJens Axboe1-0/+2
2015-06-02blkcg: move block/blk-cgroup.h to include/linux/blk-cgroup.hTejun Heo1-1/+1
2015-04-23elevator: fix double release of elevator moduleChao Yu1-5/+1
2014-12-04block / PM: Replace CONFIG_PM_RUNTIME with CONFIG_PMRafael J. Wysocki1-1/+1
2014-10-23block: fix wrong error return in elevator_init()Sudip Mukherjee1-1/+3
2014-06-22Revert "block: add __init to elv_register"Jens Axboe1-1/+1
2014-06-11block: remove elv_abort_queue and blk_abort_flushesChristoph Hellwig1-20/+0
2014-06-10block: add __init to elv_registerFabian Frederick1-1/+1
2014-04-09block: fix regression with block enabled taggingJens Axboe1-0/+2
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-1/+1
2013-11-08elevator: acquire q->sysfs_lock in elevator_change()Tomoki Sekiyama1-2/+14
2013-11-08elevator: Fix a race in elevator switching and md device initializationTomoki Sekiyama1-0/+6
2013-09-11block: Convert kmalloc_node(...GFP_ZERO...) to kzalloc_node(...)Joe Perches1-1/+1
2013-07-03elevator: Fix a race in elevator switchingJianpeng Ma1-20/+5
2013-03-22block: implement runtime pm strategyLin Ming1-0/+26
2013-02-28Merge branch 'for-3.9/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-19/+4
2013-02-27hlist: drop the node parameter from iteratorsSasha Levin1-2/+2
2013-01-22block: don't request module during elevator initTejun Heo1-7/+12
2013-01-18init, block: try to load default elevator module early during bootTejun Heo1-0/+16
2013-01-11block,elevator: use new hashtable implementationSasha Levin1-19/+4
2012-11-09block: recursive merge requestsShaohua Li1-4/+12
2012-09-20block: Clean up special command handling logicMartin K. Petersen1-4/+2
2012-04-20blkcg: implement per-queue policy activationTejun Heo1-2/+0
2012-03-06block: implement bio_associate_current()Tejun Heo1-2/+3
2012-03-06blkcg: unify blkg's for blkcg policiesTejun Heo1-3/+2
2012-03-06blkcg: let blkcg core manage per-queue blkg list and counterTejun Heo1-2/+3
2012-03-06blkcg: shoot down blkio_groups on elevator switchTejun Heo1-0/+3
2012-03-06block: implement blk_queue_bypass_start/end()Tejun Heo1-22/+3
2012-03-06elevator: make elevator_init_fn() return 0/-errnoTejun Heo1-10/+2
2012-03-06elevator: clear auxiliary data earlier during elevator switchTejun Heo1-45/+45
2012-02-08block: separate out blk_rq_merge_ok() and blk_try_merge() from elevator funct...Tejun Heo1-51/+4
2012-01-15Revert "block: recursive merge requests"Jens Axboe1-12/+4
2011-12-16block: recursive merge requestsShaohua Li1-4/+12