aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-throttle.c
AgeCommit message (Expand)AuthorFilesLines
7 daysblk-cgroup: delay freeing policy data after rcu grace periodYu Kuai1-2/+11
2026-06-05block/cgroup: Split blkg_conf_exit()Bart Van Assche1-14/+20
2026-05-27blk-throttle: schedule parent dispatch in tg_flush_bios()Tao Cui1-2/+49
2026-04-17block/blk-throttle: Add WQ_PERCPU to alloc_workqueue usersMarco Crivellari1-1/+1
2025-11-17block/blk-throttle: Remove throtl_slice from struct throtl_dataGuenter Roeck1-19/+13
2025-11-17block/blk-throttle: drop unneeded blk_stat_enable_accountingGuenter Roeck1-6/+0
2025-11-17block/blk-throttle: Fix throttle slice time for SSDsGuenter Roeck1-7/+2
2025-09-17blk-throttle: fix throtl_data leak during disk releaseYu Kuai1-2/+5
2025-09-10block: fix ordering of recursive split IOYu Kuai1-1/+1
2025-09-08blk-throttle: fix access race during throttle policy activationHan Guangjiang1-5/+1
2025-06-08treewide, timers: Rename from_timer() to timer_container_of()Ingo Molnar1-1/+2
2025-05-15block/blk-throttle: silence !BLK_DEV_IO_TRACE variable warningsJens Axboe1-2/+2
2025-05-13blk-throttle: Prevents the bps restricted io from entering the bps queue againZizhi Wo1-8/+45
2025-05-13blk-throttle: Split the service queueZizhi Wo1-29/+47
2025-05-13blk-throttle: Split the blkthrotl queueZizhi Wo1-15/+34
2025-05-13blk-throttle: Introduce flag "BIO_TG_BPS_THROTTLED"Zizhi Wo1-2/+7
2025-05-13blk-throttle: Split throtl_charge_bio() into bps and iops functionsZizhi Wo1-15/+20
2025-05-13blk-throttle: Refactor tg_dispatch_time by extracting tg_dispatch_bps/iops_timeZizhi Wo1-43/+55
2025-05-13blk-throttle: Rename tg_may_dispatch() to tg_dispatch_time()Zizhi Wo1-25/+15
2025-05-05blk-throttle: Add an additional overflow check to the call calculate_bytes/io...Zizhi Wo1-21/+62
2025-05-05blk-throttle: Delete unnecessary carryover-related fields from throtl_grpZizhi Wo1-4/+4
2025-05-05blk-throttle: Fix wrong tg->[bytes/io]_disp update in __tg_update_carryover()Zizhi Wo1-6/+16
2025-04-05treewide: Switch/rename to timer_delete[_sync]()Thomas Gleixner1-2/+2
2025-03-05blk-throttle: carry over directlyMing Lei1-28/+21
2025-03-05blk-throttle: don't take carryover for prioritized processing of metadataMing Lei1-10/+5
2025-03-05blk-throttle: remove last_bytes_disp and last_ios_dispMing Lei1-4/+1
2025-03-05blk-throttle: fix lower bps rate by throtl_trim_slice()Yu Kuai1-2/+11
2025-01-31block: force noio scope in blk_mq_freeze_queueChristoph Hellwig1-2/+3
2024-10-22block: flush all throttled bios when deleting the cgroupLi Lingfeng1-24/+44
2024-10-22Revert "blk-throttle: Fix IO hang for a corner case"Xiuhong Wang1-4/+4
2024-09-16Merge tag 'for-6.12/block-20240913' of git://git.kernel.dk/linuxLinus Torvalds1-26/+41
2024-09-10blk-throttle: support prioritized processing of metadataYu Kuai1-21/+42
2024-09-10blk-throttle: remove last_low_overflow_timeYu Kuai1-7/+1
2024-07-27blk-throttle: remove more latency dead-codeDr. David Alan Gilbert1-11/+0
2024-06-28blk-throttle: fix lower control under super low iops limitYu Kuai1-0/+3
2024-05-30blk-throttle: Fix incorrect display of io.maxWaiman Long1-12/+12
2024-05-22blk-throttle: remove unused struct 'avg_latency_bucket'Dr. David Alan Gilbert1-5/+0
2024-05-09blk-throttle: delay initialization until configurationYu Kuai1-41/+73
2024-05-09blk-throttle: remove CONFIG_BLK_DEV_THROTTLING_LOWYu Kuai1-850/+38
2024-04-01blk-throttle: Only use seq_printf() in tg_prfill_limit()John Garry1-25/+26
2024-02-05blk-throttle: Eliminate redundant checks for data directionTang Yizhou1-2/+2
2024-02-05block: add blk_time_get_ns() and blk_time_get() helpersJens Axboe1-3/+3
2023-11-17blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!"Ming Lei1-0/+2
2023-10-20blk-throttle: check for overflow in calculate_bytes_allowedKhazhismel Kumykov1-0/+6
2023-08-30blk-throttle: consider 'carryover_ios/bytes' in throtl_trim_slice()Yu Kuai1-8/+13
2023-08-30blk-throttle: use calculate_io/bytes_allowed() for throtl_trim_slice()Yu Kuai1-45/+41
2023-08-30blk-throttle: fix wrong comparation while 'carryover_ios/bytes' is negativeYu Kuai1-6/+5
2023-08-30blk-throttle: print signed value 'carryover_bytes/ios' for userYu Kuai1-1/+1
2023-06-25blk-throttle: Fix io statistics for cgroup v1Jinke Han1-6/+0
2023-04-13blk-throttle: only enable blk-stat when BLK_DEV_THROTTLING_LOWChengming Zhou1-1/+2
2023-04-13blkcg: Restructure blkg_conf_prep() and friendsTejun Heo1-6/+10
2023-02-14Revert "blk-cgroup: pin the gendisk in struct blkcg_gq"Christoph Hellwig1-2/+2
2023-02-14Revert "blk-cgroup: delay calling blkcg_exit_disk until disk_release"Christoph Hellwig1-2/+1
2023-02-14Revert "blk-cgroup: move the cgroup information to struct gendisk"Christoph Hellwig1-10/+6
2023-02-09blk-cgroup: delay calling blkcg_exit_disk until disk_releaseChristoph Hellwig1-1/+2
2023-02-03blk-cgroup: move the cgroup information to struct gendiskChristoph Hellwig1-6/+10
2023-02-03blk-cgroup: pass a gendisk to pd_alloc_fnChristoph Hellwig1-4/+3
2023-02-03blk-cgroup: pass a gendisk to blkcg_{de,}activate_policyChristoph Hellwig1-2/+2
2023-02-03blk-cgroup: pin the gendisk in struct blkcg_gqChristoph Hellwig1-2/+2
2022-12-05blk-throttle: Use more suitable time_after check for update of slice_startKemeng Shi1-1/+1
2022-12-05blk-throttle: remove repeat check of elapsed timeKemeng Shi1-2/+6
2022-12-05blk-throttle: remove incorrect comment for tg_last_low_overflow_timeKemeng Shi1-1/+0
2022-12-05blk-throttle: fix typo in comment of throtl_adjusted_limitKemeng Shi1-1/+1
2022-12-05blk-throttle: simpfy low limit reached check in throtl_tg_can_upgradeKemeng Shi1-13/+18
2022-12-05blk-throttle: correct calculation of wait time in tg_may_dispatchKemeng Shi1-25/+13
2022-12-05blk-throttle: ignore cgroup without io queued in blk_throtl_cancel_biosKemeng Shi1-1/+12
2022-12-05blk-throttle: Fix that bps of child could exceed bps limited in parentKemeng Shi1-1/+1
2022-12-05blk-throttle: correct stale comment in throtl_pd_initKemeng Shi1-2/+3
2022-09-26blk-throttle: pass a gendisk to blk_throtl_cancel_biosChristoph Hellwig1-1/+2
2022-09-26blk-throttle: pass a gendisk to blk_throtl_register_queueChristoph Hellwig1-1/+2
2022-09-26blk-throttle: pass a gendisk to blk_throtl_init and blk_throtl_exitChristoph Hellwig1-2/+5
2022-09-24blk-throttle: improve bypassing bios checkingsYu Kuai1-4/+9
2022-09-24blk-throttle: remove THROTL_TG_HAS_IOPS_LIMITYu Kuai1-14/+2
2022-09-12blk-throttle: cleanup tg_update_disptime()Yu Kuai1-4/+7
2022-09-12blk-throttle: calling throtl_dequeue/enqueue_tg in pairsYu Kuai1-2/+2
2022-09-12blk-throttle: use 'READ/WRITE' instead of '0/1'Yu Kuai1-3/+3
2022-09-12blk-throttle: fix io hung due to configuration updatesYu Kuai1-6/+52
2022-09-12blk-throttle: factor out code to calculate ios/bytes_allowedYu Kuai1-24/+35
2022-09-12blk-throttle: prevent overflow while calculating wait timeYu Kuai1-5/+3
2022-09-12blk-throttle: fix that io throttle can only work for single bioYu Kuai1-14/+6
2022-09-04blk-throttle: clean up codes that can't be reachedYu Kuai1-34/+56
2022-07-14block: Use enum req_op where appropriateBart Van Assche1-3/+4
2022-05-17blk-throttle: Set BIO_THROTTLED when bio has been throttledLaibin Qiu1-1/+2
2022-05-02blktrace: cleanup the __trace_note_message interfaceChristoph Hellwig1-1/+1
2022-03-18block: cancel all throttled bios in del_gendisk()Yu Kuai1-1/+35
2022-03-18block: avoid use-after-free on throttle dataMing Lei1-1/+11
2022-02-16block: revert 4f1e9630afe6 ("blk-throtl: optimize IOPS throttle for large IO ...Ming Lei1-28/+0
2022-02-16block: don't try to throttle split bio if iops limit isn't setMing Lei1-7/+14
2022-02-16block: throttle split bio in case of iops limitMing Lei1-3/+7
2022-02-16block: don't check bio in blk_throtl_dispatch_work_fnMing Lei1-1/+1
2022-02-11block: partition include/linux/blk-cgroup.hMing Lei1-1/+0
2021-11-29block: don't include blk-mq.h in blk.hChristoph Hellwig1-0/+1
2021-10-18block: convert the rest of block to bdev_get_queuePavel Begunkov1-1/+1
2021-10-18block: move blk-throtl fast path inlineJens Axboe1-158/+3
2021-09-07blk-throttle: fix UAF by deleteing timer in blk_throtl_exit()Li Jinlin1-0/+1
2021-08-14blk-throtl: optimize IOPS throttle for large IO scenariosChunguang Xu1-0/+32
2021-01-24block: store a block_device pointer in struct bioChristoph Hellwig1-1/+1
2020-12-02blk-throttle: don't check whether or not lower limit is valid if CONFIG_BLK_D...Yu Kuai1-0/+6
2020-10-08blk-throttle: Re-use the throtl_set_slice_end()Baolin Wang1-1/+1
2020-10-08blk-throttle: Open code __throtl_de/enqueue_tg()Baolin Wang1-17/+9
2020-10-08blk-throttle: Move service tree validation out of the throtl_rb_first()Baolin Wang1-4/+5
2020-10-08blk-throttle: Move the list operation after list validationBaolin Wang1-2/+4
2020-10-08blk-throttle: Fix IO hang for a corner caseBaolin Wang1-4/+4
2020-10-08blk-throttle: Avoid tracking latency if low limit is invalidBaolin Wang1-1/+3
2020-10-08blk-throttle: Avoid getting the current time if tg->last_finish_time is 0Baolin Wang1-2/+6
2020-10-08blk-throttle: Remove a meaningless parameter for throtl_downgrade_state()Baolin Wang1-3/+3
2020-09-14blk-throttle: Avoid checking bps/iops limitation if bps or iops is unlimitedBaolin Wang1-0/+12
2020-09-14blk-throttle: Avoid calculating bps/iops limitation repeatedlyBaolin Wang1-9/+10
2020-09-14blk-throttle: Define readable macros instead of static variablesBaolin Wang1-5/+5
2020-09-14blk-throttle: Use readable READ/WRITE macrosBaolin Wang1-2/+2
2020-09-14blk-throttle: Fix some comments' typosBaolin Wang1-7/+7
2020-07-01block: rename generic_make_request to submit_bio_noacctChristoph Hellwig1-2/+2
2020-06-29blk-cgroup: remove a dead check in blk_throtl_bioChristoph Hellwig1-1/+1
2020-06-29blk-cgroup: remove blkcg_bio_issue_checkChristoph Hellwig1-2/+3
2020-06-29blk-cgroup: move rcu locking from blkcg_bio_issue_check to blk_throtl_bioChristoph Hellwig1-1/+2
2020-05-29blk-throttle: remove tg_drain_biosGuoqing Jiang1-22/+0
2020-05-29blk-throttle: remove blk_throtl_drainGuoqing Jiang1-41/+0
2019-11-07blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTATTejun Heo1-0/+1
2019-11-07blk-throtl: stop using blkg->stat_bytes and ->stat_iosTejun Heo1-9/+61
2019-09-15block: make rq sector size accessible for block statsHou Tao1-1/+2
2019-08-28blkcg: pass @q and @blkcg into blkcg_pol_alloc_pd_fn()Tejun Heo1-2/+4
2019-07-10blk-throttle: fix zero wait time for iops throttled groupKonstantin Khlebnikov1-6/+3
2019-05-31block: Fix throtl_pending_timer_fn() kernel-doc headerBart Van Assche1-1/+1
2018-12-07blkcg: consolidate bio_issue_init() to be a part of coreDennis Zhou1-8/+0
2018-12-07blkcg: associate blkg when associating a deviceDennis Zhou1-1/+0
2018-12-07blkcg: introduce common blkg association logicDennis Zhou1-3/+3
2018-12-07blkcg: convert blkg_lookup_create() to find closest blkgDennis Zhou1-3/+1
2018-11-16block: add queue_is_mq() helperJens Axboe1-1/+1
2018-11-15block: remove the queue_lock indirectionChristoph Hellwig1-11/+11
2018-11-15block: remove queue_lockdep_assert_heldChristoph Hellwig1-1/+0
2018-11-15block: remove QUEUE_FLAG_BYPASS and ->bypassChristoph Hellwig1-3/+0
2018-11-01blkcg: revert blkcg cleanups seriesDennis Zhou1-1/+12
2018-09-21blkcg: consolidate bio_issue_init to be a part of coreDennis Zhou (Facebook)1-8/+0
2018-09-21blkcg: always associate a bio with a blkgDennis Zhou (Facebook)1-4/+1
2018-09-20Blk-throttle: update to use rbtree with leftmost node cachedLiu Bo1-26/+15
2018-08-31blkcg: use tryget logic when associating a blkg with a bioDennis Zhou (Facebook)1-2/+3
2018-08-09Blk-throttle: reduce tail io latency when iops limit is enforcedLiu Bo1-6/+1
2018-07-09block: add bi_blkg to the bio for cgroupsJosef Bacik1-14/+7
2018-07-09Block: blk-throttle: set low_valid immediately once one cgroup has io.low con...Liu Bo1-1/+3
2018-05-30blk-throttle: return proper bool type to caller instead of 0/1Chengguang Xu1-5/+5
2018-05-30blk-throttle: fix potential NULL pointer dereference in throtl_select_dispatchLiu Bo1-1/+2
2018-05-09block: get rid of struct blk_issue_statOmar Sandoval1-2/+1
2018-05-09block: replace bio->bi_issue_stat with bio-specific typeOmar Sandoval1-11/+8
2018-01-29Merge branch 'for-4.16/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-54/+88
2018-01-19blk-throttle: use queue_is_rq_basedweiping zhang1-1/+1
2018-01-18blk-throttle: track read and write request individuallyJoseph Qi1-53/+77
2018-01-18blk-throttle: export io_serviced_recursive, io_service_bytes_recursiveweiping zhang1-0/+10
2017-12-20block-throttle: avoid double chargeShaohua Li1-7/+1
2017-11-21treewide: setup_timer() -> timer_setup()Kees Cook1-5/+4
2017-11-14Merge branch 'for-4.15/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-2/+10
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-10-10blk-throttle: fix null pointer dereference while throttling writeback IOsJiufei Xue1-2/+10
2017-10-03blk-throttle: fix possible io stall when upgrade to maxJoseph Qi1-2/+2
2017-09-07Merge branch 'for-4.14/block' of git://git.kernel.dk/linux-blockLinus Torvalds1-10/+3
2017-08-23blk-throttle: cap discard request sizeShaohua Li1-4/+14
2017-07-29block: use standard blktrace API to output cgroup info for debug notesShaohua Li1-4/+2
2017-07-29block: always attach cgroup info into bioShaohua Li1-6/+1
2017-06-07blk-throttle: set default latency baseline for harddiskShaohua Li1-3/+17
2017-06-07blk-throttle: fix NULL pointer dereference in throtl_schedule_pending_timerJoseph Qi1-1/+1
2017-05-22blk-throttle: force user to configure all settings for io.lowShaohua Li1-42/+36
2017-05-22blk-throttle: respect 0 bps/iops settings for io.lowShaohua Li1-12/+29
2017-05-22blk-throttle: output some debug info in traceShaohua Li1-1/+14
2017-05-22blk-throttle: add hierarchy support for latency target and idle timeShaohua Li1-14/+36
2017-04-20blk-throttle: fix unused variable warning with BLK_DEV_THROTTLING_LOW=nJens Axboe1-7/+15
2017-03-28blk-throttle: add latency target supportShaohua Li1-4/+35
2017-03-28blk-throttle: add a mechanism to estimate IO latencyShaohua Li1-5/+161
2017-03-28blk-throttle: add interface for per-cgroup target latencyShaohua Li1-4/+24
2017-03-28blk-throttle: ignore idle cgroup limitShaohua Li1-14/+26
2017-03-28blk-throttle: add interface to configure idle time thresholdShaohua Li1-13/+28
2017-03-28blk-throttle: add a simple idle detectionShaohua Li1-1/+81
2017-03-28blk-throttle: make bandwidth change smoothShaohua Li1-3/+54
2017-03-28blk-throttle: detect completed idle cgroupShaohua Li1-1/+18
2017-03-28blk-throttle: choose a small throtl_slice for SSDShaohua Li1-3/+20
2017-03-28blk-throttle: make throtl_slice tunableShaohua Li1-22/+57
2017-03-28blk-throttle: make sure expire time isn't too bigShaohua Li1-0/+11
2017-03-28blk-throttle: add downgrade logicShaohua Li1-0/+156
2017-03-28blk-throttle: add upgrade logic for LIMIT_LOW stateShaohua Li1-4/+96
2017-03-28blk-throttle: configure bps/iops limit for cgroup in low limitShaohua Li1-2/+18
2017-03-28blk-throttle: add .low interfaceShaohua Li1-28/+116
2017-03-28blk-throttle: prepare support multiple limitsShaohua Li1-40/+70
2017-03-28blk-throttle: use U64_MAX/UINT_MAX to replace -1Shaohua Li1-16/+16
2017-02-27scripts/spelling.txt: add "embeded" pattern and fix typo instancesMasahiro Yamada1-1/+1
2017-01-23blk-throttle: Adjust two function calls together with a variable assignmentMarkus Elfring1-2/+4
2016-10-28block: replace REQ_THROTTLED with a bio flagChristoph Hellwig1-5/+5
2016-09-19blk-throttle: Extend slice if throttle group is not emptyVivek Goyal1-2/+4
2016-08-07block: rename bio bi_rw to bi_opfJens Axboe1-4/+4
2016-08-04blkcg: kill unused field nr_undestroyed_grpsHou Tao1-5/+0
2016-05-10blk-throttle: don't parse cgroup path if trace isn't enabledShaohua Li1-3/+2
2015-09-18cgroup: replace cgroup_on_dfl() tests in controllers with cgroup_subsys_on_dfl()Tejun Heo1-1/+1
2015-08-18blkcg: implement interface for the unified hierarchyTejun Heo1-0/+112
2015-08-18blkcg: separate out tg_conf_updated() from tg_set_conf()Tejun Heo1-28/+32
2015-08-18blkcg: move body parsing from blkg_conf_prep() to its callersTejun Heo1-6/+12
2015-08-18blkcg: mark existing cftypes as legacyTejun Heo1-2/+2
2015-08-18blkcg: move io_service_bytes and io_serviced stats into blkcg_gqTejun Heo1-67/+6
2015-08-18blkcg: make blkcg_[rw]stat per-cpuTejun Heo1-61/+28
2015-08-18blkcg: consolidate blkg creation in blkcg_bio_issue_check()Tejun Heo1-66/+6
2015-08-18blk-throttle: improve queue bypass handlingTejun Heo1-3/+4
2015-08-18blkcg: move root blkg lookup optimization from throtl_lookup_tg() to __blkg_l...Tejun Heo1-7/+0
2015-08-18blkcg: make blkcg_policy methods take a pointer to blkcg_policy_dataTejun Heo1-6/+7
2015-08-18blk-throttle: clean up blkg_policy_data alloc/init/exit/free methodsTejun Heo1-37/+20