aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-mq-sched.c
AgeCommit message (Expand)AuthorFilesLines
2024-01-17blk-mq: Remove the hctx 'run' debugfs attributeBart Van Assche1-2/+0
2023-04-13blk-mq: cleanup __blk_mq_sched_dispatch_requestsChristoph Hellwig1-17/+14
2023-04-13blk-mq: move blk_mq_sched_insert_request to blk-mq.cChristoph Hellwig1-73/+0
2023-04-13blk-mq: fold blk_mq_sched_insert_requests into blk_mq_dispatch_plug_listChristoph Hellwig1-24/+0
2023-04-13blk-mq: move more logic into blk_mq_insert_requestsChristoph Hellwig1-15/+2
2023-04-13blk-mq: include <linux/blk-mq.h> in block/blk-mq.hChristoph Hellwig1-1/+0
2023-04-13blk-mq: remove blk-mq-tag.hChristoph Hellwig1-1/+0
2023-02-06blk-mq: correct stale comment of .get_budgetKemeng Shi1-2/+2
2023-02-06blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctxKemeng Shi1-2/+1
2022-11-01block: split elevator_switchChristoph Hellwig1-7/+0
2022-10-23block: fix up elevator_type refcountingJinlong Chen1-0/+1
2022-06-17block: serialize all debugfs operations using q->debugfs_mutexChristoph Hellwig1-0/+11
2022-06-16blk-mq: avoid to touch q->elevator without any protectionMing Lei1-0/+1
2022-03-17block: limit request dispatch loop durationShin'ichiro Kawasaki1-1/+8
2022-03-08blk-mq: prepare for implementing hctx table via xarrayMing Lei1-4/+5
2021-12-03blk-mq: run dispatch lock once in case of issuing from listMing Lei1-1/+2
2021-11-29block: move blk_mq_sched_assign_ioc to blk-ioc.cChristoph Hellwig1-31/+0
2021-11-29Revert "block: Provide blk_mq_sched_get_icq()"Christoph Hellwig1-15/+11
2021-11-29block: Provide blk_mq_sched_get_icq()Jan Kara1-11/+15
2021-11-29block: move io_context creation into where it's neededJens Axboe1-0/+5
2021-11-11blk-mq: don't grab ->q_usage_counter in blk_mq_sched_bio_mergeMing Lei1-4/+0
2021-11-04block: move queue enter logic into blk_mq_submit_bio()Jens Axboe1-3/+10
2021-10-30blk-mq: fix redundant check of !e expressionJean Sacren1-1/+1
2021-10-22blk-mq-sched: Don't reference queue tagset in blk_mq_sched_tags_teardown()John Garry1-1/+1
2021-10-21block: clean up blk_mq_submit_bio() mergingPavel Begunkov1-1/+1
2021-10-18block: remove debugfs blk_mq_ctx dispatched/merged/completed attributesJens Axboe1-4/+1
2021-10-18blk-mq: inline hot part of __blk_mq_sched_restartPavel Begunkov1-3/+1
2021-10-18blk-mq: Change shared sbitmap naming to shared tagsJohn Garry1-16/+16
2021-10-18blk-mq: Use shared tags for shared sbitmap supportJohn Garry1-41/+41
2021-10-18blk-mq: Add blk_mq_alloc_map_and_rqs()John Garry1-12/+3
2021-10-18blk-mq: Add blk_mq_tag_update_sched_shared_sbitmap()John Garry1-2/+1
2021-10-18blk-mq-sched: Rename blk_mq_sched_free_{requests -> rqs}()John Garry1-3/+3
2021-10-18blk-mq-sched: Rename blk_mq_sched_alloc_{tags -> map_and_rqs}()John Garry1-7/+7
2021-10-18block: Rename BLKDEV_MAX_RQ -> BLKDEV_DEFAULT_RQJohn Garry1-1/+1
2021-07-27blk-mq-sched: Fix blk_mq_sched_alloc_tags() error handlingJohn Garry1-13/+4
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-2/+3
2021-06-18block: Remove unnecessary elevator operation checksDamien Le Moal1-7/+6
2021-06-18blk-mq: fix use-after-free in blk_mq_exit_schedMing Lei1-1/+3
2021-06-03block: Do not pull requests from the scheduler when we cannot dispatch themJan Kara1-1/+11
2021-05-24blk-mq: Use request queue-wide tags for tagset-wide sbitmapJohn Garry1-13/+54
2021-05-11kyber: fix out of bounds access when preemptedOmar Sandoval1-3/+5
2021-04-28Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-4/+13
2021-04-08treewide: Change list_sort to use const pointersSami Tolvanen1-1/+2
2021-03-04scsi: blk-mq: Return budget token from .get_budget callbackMing Lei1-4/+13
2021-03-01block: Drop leftover references to RQF_SORTEDJean Delvare1-5/+1
2021-02-22block: get rid of the trace rq insert wrapperChaitanya Kulkarni1-6/+0
2020-12-04block: remove the request_queue to argument request based tracepointsChristoph Hellwig1-1/+1
2020-10-09blk-mq: get rid of the dead flush handle code pathYufen Yu1-6/+0
2020-10-06block: move blk_mq_sched_try_merge to blk-merge.cChristoph Hellwig1-32/+0
2020-09-07block: Remove unused blk_mq_sched_free_hctx_data()Baolin Wang1-15/+0
2020-09-03blk-mq: Facilitate a shared sbitmap per tagsetJohn Garry1-3/+5
2020-09-03blk-mq: Pass flags for tag init/freeJohn Garry1-3/+8
2020-09-01blk-mq: use BLK_MQ_NO_TAG for no tagXianting Tian1-1/+1
2020-09-01block: Remove blk_mq_attempt_merge() functionBaolin Wang1-28/+16
2020-09-01block: Add a new helper to attempt to merge a bioBaolin Wang1-3/+3
2020-09-01block: Move blk_mq_bio_list_merge() into blk-merge.cBaolin Wang1-45/+1
2020-08-17blk-mq: order adding requests to hctx->dispatch and checking SCHED_RESTARTMing Lei1-0/+9
2020-07-31block: blk-mq-sched: delete duplicated wordRandy Dunlap1-1/+1
2020-07-10blk-mq: Remove unnecessary local variableBaolin Wang1-3/+1
2020-06-30blk-mq: support batching dispatch in case of ioMing Lei1-7/+82
2020-06-30blk-mq: pass obtained budget count to blk_mq_dispatch_rq_listMing Lei1-4/+4
2020-06-30blk-mq: pass hctx to blk_mq_dispatch_rq_listMing Lei1-8/+6
2020-06-30blk-mq: pass request queue into get/put budget callbackMing Lei1-4/+4
2020-04-29blk-mq: make function '__blk_mq_sched_dispatch_requests' staticZheng Bin1-1/+1
2020-04-24block: Limit number of items taken from the I/O scheduler in one goSalman Qazi1-13/+51
2020-04-20blk-mq: Rerun dispatching in the case of budget contentionDouglas Anderson1-0/+18
2020-03-12blk-mq: insert flush request to the front of dispatch queueMing Lei1-0/+22
2020-02-24blk-mq: insert passthrough request into hctx->dispatch directlyMing Lei1-7/+15
2019-09-26blk-mq: move lockdep_assert_held() into elevator_exitMing Lei1-2/+0
2019-07-02blk-mq: remove blk_mq_put_ctx()Bart Van Assche1-4/+1
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-11/+15
2019-06-13blk-mq: remove WARN_ON(!q->elevator) from blk_mq_sched_free_requestsMing Lei1-1/+0
2019-06-06block: free sched's request pool in blk_cleanup_queueMing Lei1-3/+27
2019-05-04blk-mq: grab .q_usage_counter when queuing request from plug code pathMing Lei1-1/+11
2019-04-30block: add SPDX tags to block layer files missing licensing informationChristoph Hellwig1-0/+1
2019-04-05block: Revert v5.0 blk_mq_request_issue_directly() changesBart Van Assche1-3/+5
2019-02-01blk-mq: save queue mapping result into ctx directlyJianchao Wang1-1/+1
2018-12-17blk-mq: fix dispatch from sw queueMing Lei1-3/+8
2018-12-17block: mq-deadline: Fix write completion handlingDamien Le Moal1-1/+2
2018-12-16blk-mq: issue directly with bypass 'false' in blk_mq_sched_insert_requestsJianchao Wang1-5/+3
2018-11-20block: fix attempt to assign NULL io_contextJens Axboe1-1/+8
2018-11-19block: Remove bio->bi_iocDamien Le Moal1-2/+2
2018-11-15block: remove the queue_lock indirectionChristoph Hellwig1-2/+2
2018-11-07blk-mq: cleanup and improve list insertionJens Axboe1-7/+1
2018-11-07blk-mq: cache request hardware queue mappingJens Axboe1-4/+2
2018-11-07blk-mq: allow software queue to map to multiple hardware queuesJens Axboe1-1/+1
2018-11-07blk-mq: pass in request/bio flags to queue mappingJens Axboe1-4/+12
2018-11-07block: get rid of MQ scheduler ops unionJens Axboe1-17/+16
2018-08-21blk-mq: init hctx sched after update ctx and hctx mappingJianchao Wang1-44/+0
2018-07-17blk-mq: issue directly if hw queue isn't busy in case of 'none'Ming Lei1-1/+12
2018-07-09blk-mq: dequeue request one by one from sw queue if hctx is busyMing Lei1-9/+2
2018-07-09blk-mq: only attempt to merge bio if there is rq in sw queueMing Lei1-1/+2
2018-07-09blk-mq: remove synchronize_rcu() from blk_mq_del_queue_tag_set()Ming Lei1-80/+5
2018-06-02blk-mq: update nr_requests when switching to 'none' schedulerMing Lei1-0/+1
2018-06-01block: move sysfs_lock into elevator_initChristoph Hellwig1-11/+0
2018-06-01block: remove the always unused name argument to elevator_initChristoph Hellwig1-1/+1
2018-05-30blk-mq: abstract out blk-mq-sched rq list iteration bio merge helperJens Axboe1-10/+24
2018-02-01blk-mq-sched: Enable merging discard bio into requestKeith Busch1-0/+2
2018-01-17blk-mq-sched: remove unused 'can_block' arg from blk_mq_sched_insert_requestMike Snitzer1-1/+1
2018-01-05blk-mq: remove confusing comment of blk_mq_sched_dispatch_requestsLiu Bo1-1/+0
2017-11-10blk-mq: only run the hardware queue if IO is pendingJens Axboe1-6/+1
2017-11-10Revert "blk-mq: don't handle TAG_SHARED in restart"Jens Axboe1-4/+74
2017-11-04blk-mq: don't allocate driver tag upfront for flush rqMing Lei1-37/+5
2017-11-04blk-mq-sched: decide how to handle flush rq via RQF_FLUSH_SEQMing Lei1-13/+16
2017-11-04blk-mq: don't handle failure in .get_budgetMing Lei1-12/+2
2017-11-01blk-mq: don't restart queue when .get_budget returns BLK_STS_RESOURCEMing Lei1-25/+20
2017-11-01blk-mq: don't handle TAG_SHARED in restartMing Lei1-74/+4
2017-11-01blk-mq-sched: improve dispatching from sw queueMing Lei1-3/+71
2017-11-01blk-mq: introduce .get_budget and .put_budget in blk_mq_opsMing Lei1-10/+45
2017-11-01blk-mq-sched: move actual dispatching into one helperMing Lei1-19/+24
2017-11-01blk-mq-sched: dispatch from scheduler IFF progress is made in ->dispatchMing Lei1-6/+6
2017-07-03blk-mq-sched: fix performance regression of mq-deadlineMing Lei1-3/+5
2017-06-22Merge commit '8e8320c9315c' into for-4.13/blockJens Axboe1-12/+46
2017-06-21blk-mq: fix performance regression with shared tagsJens Axboe1-12/+46
2017-06-20blk-mq: Document locking assumptionsBart Van Assche1-0/+2
2017-06-18blk-mq: use QUEUE_FLAG_QUIESCED to quiesce queueMing Lei1-1/+2
2017-06-18blk-mq: refactor blk_mq_sched_assign_iocChristoph Hellwig1-24/+4
2017-06-18blk-mq: remove blk_mq_sched_{get,put}_rq_privChristoph Hellwig1-4/+6
2017-06-18blk-mq: move blk_mq_sched_{get,put}_request to blk-mq.cChristoph Hellwig1-67/+2
2017-05-26blk-mq: make per-sw-queue bio merge as default .bio_mergeMing Lei1-5/+57
2017-05-04blk-mq-debugfs: allow schedulers to register debugfs attributesOmar Sandoval1-8/+16
2017-05-02blk-mq-sched: remove hack that bypasses scheduler for reserved requestsJens Axboe1-5/+1
2017-04-27blk-mq-sched: alloate reserved tags out of normal poolJens Axboe1-1/+5
2017-04-20blk-mq: Remove blk_mq_sched_move_to_dispatch()Bart Van Assche1-16/+0
2017-04-07blk-mq-sched: provide hooks for initializing hardware queue dataOmar Sandoval1-38/+43
2017-04-07blk-mq: Restart a single queue if tag sets are sharedBart Van Assche1-10/+53
2017-04-07blk-mq-sched: fix crash in switch error pathOmar Sandoval1-2/+11
2017-04-07blk-mq-sched: set up scheduler tags when bringing up new queuesOmar Sandoval1-0/+22
2017-04-07blk-mq-sched: refactor scheduler initializationOmar Sandoval1-38/+44
2017-04-07blk-mq: use the right hctx when getting a driver tag failsOmar Sandoval1-4/+5
2017-03-02blk-mq: move update of tags->rqs to __blk_mq_alloc_request()Omar Sandoval1-2/+0
2017-03-02blk-mq: make blk_mq_alloc_request_hctx() allocate a scheduler requestOmar Sandoval1-6/+5
2017-03-02blk-mq-sched: Allocate sched reserved tags as specified in the original queue...Sagi Grimberg1-1/+2
2017-02-23blk-mq-sched: separate mark hctx and queue restart operationsOmar Sandoval1-12/+8
2017-02-22block: get rid of blk-mq default scheduler choice Kconfig entriesJens Axboe1-9/+0
2017-02-17blk-mq-sched: ask scheduler for work, if we failed dispatching leftoversJens Axboe1-3/+12
2017-02-17blk-mq-sched: don't add flushes to the head of requeue queueJens Axboe1-1/+1
2017-02-10blk-mq: pass bio to blk_mq_sched_get_rq_privPaolo Valente1-3/+5
2017-02-08block: enumify ELEVATOR_*_MERGEChristoph Hellwig1-18/+17
2017-02-03block: free merged request in the callerJens Axboe1-3/+6
2017-02-02blk-mq-sched: bypass the scheduler for flushes entirelyOmar Sandoval1-2/+23
2017-01-27block: cleanup remaining manual checks for PREFLUSH|FUAJens Axboe1-1/+1
2017-01-27blk-mq-sched: add flush insertion into blk_mq_sched_insert_request()Jens Axboe1-0/+58
2017-01-27block: add a op_is_flush helperChristoph Hellwig1-3/+2
2017-01-27blk-mq-sched: change ->dispatch_requests() to ->dispatch_request()Jens Axboe1-8/+15
2017-01-27blk-mq-sched: fix starvation for multiple hardware queues and shared tagsJens Axboe1-0/+28
2017-01-26blk-mq-sched: check for successful allocation before assigning tagJens Axboe1-1/+2
2017-01-26blk-mq: don't lose flags passed in to blk_mq_alloc_request()Jens Axboe1-1/+1
2017-01-17blk-mq-sched: allow setting of default IO schedulerJens Axboe1-0/+20
2017-01-17blk-mq-sched: add framework for MQ capable IO schedulersJens Axboe1-0/+368