aboutsummaryrefslogtreecommitdiffstats
path: root/block/elevator.c
AgeCommit message (Expand)AuthorFilesLines
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-45/+159
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
2011-12-14block, cfq: move io_cq exit/release to blk-ioc.cTejun Heo1-1/+2
2011-12-14block, cfq: move icq cache management to block coreTejun Heo1-2/+35
2011-12-14block, cfq: move cfqd->icq_list to request_queue and add request->elv.icqTejun Heo1-2/+0
2011-12-14block: remove elevator_queue->opsTejun Heo1-38/+36
2011-12-14block: reorder elevator switch sequenceTejun Heo1-54/+37
2011-12-14block, cfq: remove delayed unlinkTejun Heo1-16/+0
2011-10-19block: fix request_queue lifetime handling by making blk_queue_cleanup() prop...Tejun Heo1-1/+1
2011-10-19block: reorganize queue drainingTejun Heo1-26/+11
2011-09-12elevator: use ELV_NAME_MAX instead of magic number 16 for chosen_elevatorWang Sheng-Hui1-1/+1
2011-06-02iosched: prevent aliased requests from starving other I/OJeff Moyer1-5/+2
2011-05-20block: get rid of on-stack plugging debug checksJens Axboe1-4/+0
2011-05-20Merge commit 'v2.6.39' into for-2.6.40/coreJens Axboe1-1/+2
2011-05-05iosched: remove redundant sprintfKees Cook1-6/+1
2011-04-21elevator: check for ELEVATOR_INSERT_SORT_MERGE in !elvpriv case tooJens Axboe1-1/+2
2011-04-18block: add blk_run_queue_asyncChristoph Hellwig1-2/+2
2011-04-05block: get rid of elv_insert() interfaceJens Axboe1-20/+15
2011-03-21block: attempt to merge with existing requests on plug flushJens Axboe1-3/+49
2011-03-10Merge branch 'for-2.6.39/stack-plug' into for-2.6.39/coreJens Axboe1-41/+8
2011-03-10block: remove per-queue pluggingJens Axboe1-40/+3
2011-03-10block: initial patch for on-stack per-task pluggingJens Axboe1-1/+5
2011-03-04Merge branch 'for-linus' of ../linux-2.6-block into block-for-2.6.39/coreTejun Heo1-2/+2
2011-03-02block: add @force_kblockd to __blk_run_queue()Tejun Heo1-2/+2
2011-02-11block: share request flush fields with elevator_privateMike Snitzer1-1/+1
2011-01-25block: reimplement FLUSH/FUA to support mergeTejun Heo1-0/+7
2010-11-10block: remove REQ_HARDBARRIERChristoph Hellwig1-2/+2
2010-10-19Merge branch 'v2.6.36-rc8' into for-2.6.37/barrierJens Axboe1-15/+37
2010-10-07elevator: fix oops on early call to elevator_change()Jens Axboe1-4/+8
2010-09-10block: drop barrier ordering by queue drainingTejun Heo1-70/+9
2010-08-23block: add function call to switch the IO scheduler from a driverJens Axboe1-13/+31
2010-08-12block: add secure discardAdrian Hunter1-0/+6
2010-08-07block: unify flags for struct bio and struct requestChristoph Hellwig1-2/+1
2010-08-07block: remove wrappers for request type/flagsChristoph Hellwig1-6/+10
2010-06-04block: make blk_init_free_list and elevator_init idempotentMike Snitzer1-2/+4
2010-05-24block: Adjust elv_iosched_show to return "none" for bio-based DMMike Snitzer1-1/+1
2010-05-11block: allow initialization of previously allocated request_queueMike Snitzer1-0/+2
2010-04-09blkio: Add io_merged statDivyesh Shah1-0/+9
2010-04-02Block: Fix block/elevator.c elevator_get() off-by-one errorwzt.wzt@gmail.com1-1/+1
2010-03-07Driver core: Constify struct sysfs_ops in struct kobj_typeEmese Revfy1-1/+1
2010-01-29block: Added in stricter no merge semantics for block I/OAlan D. Brunelle1-1/+10
2009-10-13Merge branch 'for-linus' into for-2.6.33Jens Axboe1-3/+1
2009-10-09elv_iosched_store(): fix strstrip() misuseKOSAKI Motohiro1-3/+1
2009-10-03block: remove the anticipatory IO schedulerJens Axboe1-8/+2
2009-09-11bio: first step in sanitizing the bio->bi_rw flag testingJens Axboe1-1/+2
2009-09-11scsi,block: update SCSI to handle mixed merge failuresTejun Heo1-13/+0
2009-07-17block: fix failfast merge testing in elv_rq_merge_ok()Tejun Heo1-4/+9
2009-07-03block: don't merge requests of different failfast settingsTejun Heo1-0/+8