aboutsummaryrefslogtreecommitdiffstats
path: root/block/bfq-iosched.c
AgeCommit message (Expand)AuthorFilesLines
2024-02-05block: add blk_time_get_ns() and blk_time_get() helpersJens Axboe1-14/+14
2023-06-30Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds1-4/+4
2023-05-22scsi: block: ioprio: Clean up interface definitionDamien Le Moal1-4/+4
2023-05-19block: BFQ: Move an invariant checkBart Van Assche1-1/+1
2023-05-18block: BFQ: Add several invariant checksBart Van Assche1-0/+9
2023-04-16block, bfq: Fix division by zero error on zero wsumColin Ian King1-0/+2
2023-04-13blk-mq: pass a flags argument to elevator_type->insert_requestsChristoph Hellwig1-8/+8
2023-04-13blk-mq: remove blk-mq-tag.hChristoph Hellwig1-1/+0
2023-03-08block, bfq: fix uaf for 'stable_merge_bfqq'Yu Kuai1-9/+9
2023-02-20Merge tag 'for-6.3/block-2023-02-16' of git://git.kernel.dk/linuxLinus Torvalds1-212/+417
2023-02-03blk-cgroup: pass a gendisk to blkcg_{de,}activate_policyChristoph Hellwig1-1/+1
2023-02-03blk-wbt: pass a gendisk to wbt_{enable,disable}_defaultChristoph Hellwig1-2/+2
2023-01-29block, bfq: remove unused bfq_wr_max_time in struct bfq_dataKemeng Shi1-4/+0
2023-01-29block, bfq: remove unnecessary goto tag in bfq_dispatch_rq_from_bfqqKemeng Shi1-6/+3
2023-01-29block, bfq: remove redundant check in bfq_put_cooperatorKemeng Shi1-2/+0
2023-01-29block, bfq: remove unnecessary dereference to get async_bfqqKemeng Shi1-1/+1
2023-01-29block, bfq: use helper macro RQ_BFQQ to get bfqq of requestKemeng Shi1-3/+3
2023-01-29block, bfq: initialize bfqq->decrease_time_jif correctlyKemeng Shi1-0/+2
2023-01-29block, bfq: remove unsed parameter reason in bfq_bfqq_is_slowKemeng Shi1-3/+2
2023-01-29block, bfq: correctly raise inject limit in bfq_choose_bfqq_for_injectionKemeng Shi1-6/+4
2023-01-29block, bfq: fix uaf for bfqq in bic_set_bfqq()Yu Kuai1-1/+3
2023-01-29block, bfq: balance I/O injection among underutilized actuatorsDavide Zini1-5/+13
2023-01-29block, bfq: inject I/O to underutilized actuatorsDavide Zini1-35/+101
2023-01-29block, bfq: retrieve independent access ranges from request queueFederico Gavioli1-8/+51
2023-01-29block, bfq: split also async bfq_queues on a per-actuator basisDavide Zini1-18/+23
2023-01-29block, bfq: turn bfqq_data into an array in bfq_io_cqPaolo Valente1-41/+59
2023-01-29block, bfq: move io_cq-persistent bfqq data into a dedicated structPaolo Valente1-59/+79
2023-01-29block, bfq: forbid stable merging of queues associated with different actuatorsPaolo Valente1-4/+9
2023-01-29block, bfq: split sync bfq_queues on a per-actuator basisPaolo Valente1-55/+105
2022-12-26block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqqYu Kuai1-1/+1
2022-12-15block, bfq: only do counting of pending-request for BFQ_GROUP_IOSCHEDYuwei Guan1-0/+2
2022-12-14block, bfq: replace 0/1 with false/true in bic apisYu Kuai1-2/+2
2022-12-14block, bfq: fix possible uaf for 'bfqq->bic'Yu Kuai1-1/+6
2022-11-09bfq: ignore oom_bfqq in bfq_check_wakerKhazhismel Kumykov1-1/+3
2022-11-09bfq: fix waker_bfqq inconsistency crashKhazhismel Kumykov1-2/+7
2022-11-01block, bfq: remove dead code for updating 'rq_in_driver'Yu Kuai1-16/+0
2022-11-01block, bfq: cleanup __bfq_weights_tree_remove()Yu Kuai1-10/+1
2022-11-01block, bfq: cleanup bfq_weights_tree add/remove apisYu Kuai1-10/+9
2022-11-01block, bfq: do not idle if only one group is activatedYu Kuai1-2/+2
2022-11-01block, bfq: refactor the counting of 'num_groups_with_pending_reqs'Yu Kuai1-42/+0
2022-11-01block, bfq: support to track if bfqq has pending requestsYu Kuai1-0/+1
2022-10-23blk-wbt: don't enable throttling if default elevator is bfqYu Kuai1-0/+2
2022-08-22block, bfq: remove useless parameter for bfq_add/del_bfqq_busy()Yu Kuai1-4/+4
2022-08-22block, bfq: remove useless checking in bfq_put_queue()Yu Kuai1-4/+2
2022-07-14block/bfq: Use the new blk_opf_t typeBart Van Assche1-8/+8
2022-06-16block/bfq: Enable I/O statisticsBart Van Assche1-0/+3
2022-06-16blk-mq: avoid to touch q->elevator without any protectionMing Lei1-0/+3
2022-05-23Merge tag 'for-5.19/block-2022-05-22' of git://git.kernel.dk/linux-blockLinus Torvalds1-42/+53
2022-05-19bfq: Remove bfq_requeue_request_body()Jan Kara1-7/+2
2022-05-19bfq: Remove superfluous conversion from RQ_BIC()Jan Kara1-1/+1
2022-05-19bfq: Allow current waker to defend against a tentative oneJan Kara1-2/+1
2022-05-19bfq: Relax waker detection for shared queuesJan Kara1-2/+3
2022-05-16block, bfq: make bfq_has_work() more accurateYu Kuai1-4/+12
2022-05-16block, bfq: protect 'bfqd->queued' by 'bfqd->lock'Yu Kuai1-1/+3
2022-04-29bfq: Fix warning in bfqq_request_over_limit()Jan Kara1-3/+9
2022-04-17bfq: Get rid of __bio_blkcg() usageJan Kara1-10/+1
2022-04-17bfq: Remove pointless bfq_init_rq() callsJan Kara1-6/+6
2022-04-17bfq: Drop pointless unlock-lock pairJan Kara1-3/+0
2022-04-17bfq: Update cgroup information before merging bioJan Kara1-2/+9
2022-04-17bfq: Split shared queues on move between cgroupsJan Kara1-1/+1
2022-04-17bfq: Avoid merging queues with different parentsJan Kara1-0/+8
2022-04-17bfq: Avoid false marking of bic as stably mergedJan Kara1-3/+6
2022-03-22Merge branch 'akpm' (patches from Andrew)Linus Torvalds1-1/+1
2022-03-22block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"NeilBrown1-1/+1
2022-03-21Merge tag 'for-5.18/block-2022-03-18' of git://git.kernel.dk/linux-blockLinus Torvalds1-13/+24
2022-03-16block/bfq-iosched: Fix spelling mistake "tenative" -> "tentative"Colin Ian King1-1/+1
2022-03-08Revert "Revert "block, bfq: honor already-setup queue merges""Paolo Valente1-3/+13
2022-03-05bfq: fix use-after-free in bfq_dispatch_requestZhang Wensheng1-7/+8
2022-02-18block, bfq: cleanup bfq_bfqq_to_bfqg()Yu Kuai1-2/+2
2022-02-17block/wbt: fix negative inflight counter when remove scsi deviceLaibin Qiu1-0/+2
2021-11-29block: simplify ioc_lookup_icqChristoph Hellwig1-1/+1
2021-11-29block: move the remaining elv.icq handling to the I/O schedulerChristoph Hellwig1-1/+11
2021-11-29block: move blk_mq_sched_assign_ioc to blk-ioc.cChristoph Hellwig1-1/+1
2021-11-29bfq: use bfq_bic_lookup in bfq_limit_depthChristoph Hellwig1-1/+1
2021-11-29bfq: simplify bfq_bic_lookupChristoph Hellwig1-15/+10
2021-11-29bfq: Do not let waker requests skip proper accountingJan Kara1-43/+1
2021-11-29bfq: Log waker detectionsJan Kara1-0/+8
2021-11-29bfq: Limit waker detection in timeJan Kara1-15/+23
2021-11-29bfq: Limit number of requests consumed by each cgroupJan Kara1-19/+118
2021-11-29bfq: Store full bitmap depth in bfq_dataJan Kara1-4/+6
2021-11-29bfq: Track number of allocated requests in bfq_entityJan Kara1-6/+22
2021-11-29block: move io_context creation into where it's neededJens Axboe1-0/+2
2021-10-18blk-mq: Stop using pointers for blk_mq_tags bitmap tagsJohn Garry1-2/+2
2021-10-18block: move elevator.h to block/Christoph Hellwig1-1/+1
2021-09-28Revert "block, bfq: honor already-setup queue merges"Jens Axboe1-13/+3
2021-09-02block, bfq: honor already-setup queue mergesPaolo Valente1-3/+13
2021-08-23block: add an explicit ->disk backpointer to the request_queueChristoph Hellwig1-1/+1
2021-08-18block: fix default IO priority handlingDamien Le Moal1-1/+1
2021-08-18block: Introduce IOPRIO_NR_LEVELSDamien Le Moal1-4/+4
2021-08-18block: bfq: fix bfq_set_next_ioprio_data()Damien Le Moal1-1/+1
2021-08-09block: return ELEVATOR_DISCARD_MERGE if possibleMing Lei1-0/+3
2021-08-09block: move the bdi from the request_queue to the gendiskChristoph Hellwig1-2/+2
2021-06-24blk: Fix lock inversion between ioc lock and bfqd lockJan Kara1-2/+4
2021-06-24bfq: Remove merged request already in bfq_requests_merged()Jan Kara1-28/+13
2021-06-21block, bfq: reset waker pointer with shared queuesPaolo Valente1-2/+4
2021-06-21block, bfq: check waker only for queues with no in-flight I/OPaolo Valente1-8/+13
2021-06-21block, bfq: avoid delayed merge of async queuesPaolo Valente1-1/+7
2021-06-21block, bfq: boost throughput by extending queue-merging timesPietro Pedroni1-3/+13
2021-06-21block, bfq: consider also creation time in delayed stable mergePaolo Valente1-1/+3
2021-06-21block, bfq: fix delayed stable merge checkLuca Mariotti1-1/+1
2021-06-21block, bfq: let also stably merged queues enjoy weight raisingPaolo Valente1-1/+14
2021-05-12block, bfq: avoid circular stable mergesPaolo Valente1-2/+29
2021-05-11kyber: fix out of bounds access when preemptedOmar Sandoval1-2/+1
2021-04-16bfq/mq-deadline: remove redundant check for passthrough requestLin Feng1-2/+1
2021-03-25block, bfq: merge bursts of newly-created queuesPaolo Valente1-10/+249
2021-03-25block, bfq: keep shared queues out of the waker mechanismPaolo Valente1-1/+11
2021-03-25block, bfq: fix weight-raising resume with !low_latencyPaolo Valente1-2/+8
2021-03-25block, bfq: make shared queues inherit wakersPaolo Valente1-3/+39
2021-03-25block, bfq: put reqs of waker and woken in dispatch listPaolo Valente1-1/+43
2021-03-25block, bfq: always inject I/O of queues blocked by wakersPaolo Valente1-5/+27
2021-03-02block/bfq: update comments and default value in docs for fifo_expireJoseph Qi1-1/+1
2021-02-22block: get rid of the trace rq insert wrapperChaitanya Kulkarni1-1/+3
2021-02-21Merge tag 'for-5.12/block-2021-02-17' of git://git.kernel.dk/linux-blockLinus Torvalds1-169/+276
2021-02-02bfq-iosched: Revert "bfq: Fix computation of shallow depth"Lin Feng1-4/+4
2021-01-27bfq: Use only idle IO periods for think time calculationsJan Kara1-1/+9
2021-01-27bfq: Use 'ttime' local variableJan Kara1-1/+1
2021-01-27bfq: Avoid false bfq queue mergingJan Kara1-0/+1
2021-01-25bfq: bfq_check_waker() should be staticJens Axboe1-1/+2
2021-01-25block, bfq: make waker-queue detection more robustPaolo Valente1-108/+103
2021-01-25block, bfq: save also injection state on queue mergingPaolo Valente1-0/+8
2021-01-25block, bfq: save also weight-raised service on queue mergingPaolo Valente1-0/+2
2021-01-25block, bfq: fix switch back from soft-rt weitgh-raisingPaolo Valente1-2/+20
2021-01-25block, bfq: re-evaluate convenience of I/O plugging on rq arrivalsPaolo Valente1-5/+19
2021-01-25block, bfq: replace mechanism for evaluating I/O intensityPaolo Valente1-19/+44
2021-01-24Revert "blk-mq, elevator: Count requests per hctx to improve performance"Jan Kara1-5/+0
2021-01-24block, bfq: do not expire a queue when it is the only busy onePaolo Valente1-2/+20
2021-01-24block, bfq: avoid spurious switches to soft_rt of interactive queuesPaolo Valente1-20/+37
2021-01-24block, bfq: do not raise non-default weightsPaolo Valente1-3/+7
2021-01-24block, bfq: increase time window for waker detectionPaolo Valente1-1/+1
2021-01-24block, bfq: set next_rq to waker_bfqq->next_rq in waker injectionJia Cheng Hu1-1/+1
2021-01-24block, bfq: use half slice_idle as a threshold to check short ttimePaolo Valente1-3/+4
2021-01-05bfq: Fix computation of shallow depthJan Kara1-4/+4
2020-10-13Merge tag 'block-5.10-2020-10-12' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+7
2020-09-11Merge tag 'block-5.9-2020-09-11' of git://git.kernel.dk/linux-blockLinus Torvalds1-12/+0
2020-09-08block: only call sched requeue_request() for scheduled requestsOmar Sandoval1-12/+0
2020-09-03blk-mq, elevator: Count requests per hctx to improve performanceKashyap Desai1-0/+5
2020-09-03blk-mq: Use pointers for blk_mq_tags bitmap tagsJohn Garry1-2/+2
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-2/+2
2020-07-31block: bfq-iosched: fix duplicated wordRandy Dunlap1-1/+1
2020-05-29blk-mq: remove the bio argument to ->prepare_requestChristoph Hellwig1-1/+1
2020-05-09bdi: use bdi_dev_name() to get device nameYufen Yu1-2/+4
2020-03-21block, bfq: turn put_queue into release_process_ref in __bfq_bic_change_cgroupPaolo Valente1-2/+0
2020-03-21block, bfq: fix use-after-free in bfq_idle_slice_timer_bodyZhiqiang Liu1-4/+12
2020-02-03block, bfq: clarify the goal of bfq_split_bfqq()Paolo Valente1-0/+2
2020-02-03block, bfq: remove ifdefs from around gets/puts of bfq groupsPaolo Valente1-5/+1
2020-02-03block, bfq: extend incomplete name of field on_stPaolo Valente1-1/+1
2020-02-03block, bfq: do not insert oom queue into position treePaolo Valente1-0/+4
2020-02-03block, bfq: do not plug I/O for bfq_queues with no proc refsPaolo Valente1-0/+12
2020-01-22block/bfq: remove unused bfq_class_rt which never usedAlex Shi1-1/+0
2019-11-25Merge tag 'for-5.5/block-20191121' of git://git.kernel.dk/linux-blockLinus Torvalds1-0/+4
2019-11-14block, bfq: deschedule empty bfq_queues not referred by any processPaolo Valente1-6/+26
2019-11-07bfq-iosched: stop using blkg->stat_bytes and ->stat_iosTejun Heo1-0/+4
2019-09-17block, bfq: push up injection only after setting service timePaolo Valente1-5/+7
2019-09-17block, bfq: increase update frequency of inject limitPaolo Valente1-1/+1
2019-09-17block, bfq: reduce upper bound for inject limit to max_rq_in_driver+1Paolo Valente1-1/+1
2019-09-17block, bfq: update inject limit only after injection occurredPaolo Valente1-2/+17
2019-08-08block, bfq: handle NULL return value by bfq_init_rq()Paolo Valente1-3/+11
2019-08-08block, bfq: move update of waker and woken list to queue freeingPaolo Valente1-15/+29
2019-08-08block, bfq: reset last_completed_rq_bfqq if the pointed queue is freedPaolo Valente1-3/+7
2019-07-26Merge tag 'for-linus-20190726' of git://git.kernel.dk/linux-blockLinus Torvalds1-24/+43
2019-07-18block, bfq: check also in-flight I/O in dispatch pluggingPaolo Valente1-24/+43
2019-07-15docs: block: convert to ReSTMauro Carvalho Chehab1-1/+1
2019-07-09Merge tag 'for-5.3/block-20190708' of git://git.kernel.dk/linux-blockLinus Torvalds1-296/+671
2019-06-28block, bfq: NULL out the bic when it's no longer validDouglas Anderson1-0/+1
2019-06-26block, bfq: Init saved_wr_start_at_switch_to_srt in unlikely caseDouglas Anderson1-0/+1
2019-06-25block, bfq: fix operator in BFQQ_TOTALLY_SEEKYPaolo Valente1-1/+1
2019-06-25block, bfq: re-schedule empty queues if they deserve I/O pluggingPaolo Valente1-184/+203
2019-06-25block, bfq: preempt lower-weight or lower-priority queuesPaolo Valente1-20/+75
2019-06-25block, bfq: detect wakers and unconditionally inject their I/OPaolo Valente1-33/+237
2019-06-25block, bfq: bring forward seek&think time updatePaolo Valente1-10/+4
2019-06-25block, bfq: update base request service times when possiblePaolo Valente1-1/+12
2019-06-25block, bfq: fix rq_in_driver check in bfq_update_inject_limitPaolo Valente1-1/+7
2019-06-25block, bfq: reset inject limit when think-time state changesPaolo Valente1-68/+151
2019-06-20block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUGChristoph Hellwig1-4/+4
2019-06-20block: remove the bi_phys_segments field in struct bioChristoph Hellwig1-2/+3
2019-04-30block: switch all files cleared marked as GPLv2 or later to SPDX tagsChristoph Hellwig1-10/+1
2019-04-22Merge tag 'v5.1-rc6' into for-5.2/blockJens Axboe1-9/+14
2019-04-13bfq: update internal depth state when queue depth changesJens Axboe1-1/+7
2019-04-10block, bfq: fix use after free in bfq_bfqq_expirePaolo Valente1-8/+7
2019-04-08block, bfq: fix some typos in commentsAngelo Ruocco1-8/+8
2019-04-01block, bfq: save & resume weight on a queue merge/splitFrancesco Pollicino1-0/+2
2019-04-01block, bfq: print SHARED instead of pid for shared queues in logsFrancesco Pollicino1-0/+10
2019-04-01block, bfq: always protect newly-created queues from existing active queuesPaolo Valente1-13/+51
2019-04-01block, bfq: do not tag totally seeky queues as soft rtPaolo Valente1-0/+14
2019-04-01block, bfq: do not merge queues on flash storage with queueingPaolo Valente1-5/+68
2019-04-01block, bfq: tune service injection basing on request service timesPaolo Valente1-36/+381
2019-04-01block, bfq: do not idle for lowest-weight queuesPaolo Valente1-90/+114
2019-04-01block, bfq: increase idling for weight-raised queuesPaolo Valente1-0/+2
2019-04-01block/bfq: fix ifdef for CONFIG_BFQ_GROUP_IOSCHED=yKonstantin Khlebnikov1-1/+1
2019-01-31block, bfq: fix in-service-queue check for queue mergingPaolo Valente1-1/+4
2019-01-31block, bfq: do not overcharge writes in asymmetric scenariosPaolo Valente1-1/+2
2019-01-31block, bfq: port commit "cfq-iosched: improve hw_tag detection"Paolo Valente1-0/+13
2019-01-31block, bfq: reduce threshold for detecting command queueingPaolo Valente1-2/+2
2019-01-31block, bfq: fix queue removal from weights treePaolo Valente1-4/+13
2019-01-31block, bfq: fix sequential rq detection in rate estimationPaolo Valente1-5/+7
2019-01-31block, bfq: unconditionally plug I/O in asymmetric scenariosPaolo Valente1-181/+165
2019-01-31block, bfq: do not plug I/O of in-service queue when harmfulPaolo Valente1-14/+17
2019-01-31block, bfq: split function bfq_better_to_idlePaolo Valente1-73/+82
2019-01-31block, bfq: consider also ioprio classes in symmetry detectionPaolo Valente1-41/+45
2019-01-31block, bfq: remove case of redirected bic from insert_requestPaolo Valente1-2/+0