aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-throttle.c
AgeCommit message (Expand)AuthorFilesLines
8 daysblk-throttle: delay initialization until configurationYu Kuai1-41/+73
8 daysblk-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-56/+90
2018-01-19blk-throttle: use queue_is_rq_basedweiping zhang1-1/+1
2018-01-18blk-throttle: track read and write request individuallyJoseph Qi1-55/+79
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-43/+37
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
2015-08-18blk-throttle: remove asynchrnous percpu stats allocation mechanismTejun Heo1-87/+25
2015-08-18blkcg: replace blkcg_policy->pd_size with ->pd_alloc/free_fn() methodsTejun Heo1-1/+12
2015-06-02blkcg: move block/blk-cgroup.h to include/linux/blk-cgroup.hTejun Heo1-1/+1
2015-02-20blk-throttle: check stats_cpu before reading it from sysfsThadeu Lima de Souza Cascardo1-0/+3
2014-07-09cgroup: remove sane_behavior support on non-default hierarchiesTejun Heo1-3/+3
2014-06-09Merge branch 'for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/c...Linus Torvalds1-16/+16
2014-05-13cgroup: replace cftype->write_string() with cftype->write()Tejun Heo1-16/+16
2014-05-02block/blk-throttle.c: fix return of 0/1 with return type boolFabian Frederick1-4/+4
2014-04-21block/blk-throttle.c: add static to blk_throtl_dispatch_work_fnFabian Frederick1-1/+1
2014-03-19cgroup: drop const from @buffer of cftype->write_string()Tejun Heo1-2/+2
2014-02-11cgroup: update the meaning of cftype->max_write_lenTejun Heo1-4/+0
2014-01-30Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-blockLinus Torvalds1-7/+7
2013-12-05cgroup: replace cftype->read_seq_string() with cftype->seq_show()Tejun Heo1-20/+15
2013-11-23block: Abstract out bvec iteratorKent Overstreet1-7/+7
2013-11-13block: Use u64_stats_init() to initialize seqcountsPeter Zijlstra1-0/+10
2013-08-08cgroup: make css_for_each_descendant() and friends include the origin css in ...Tejun Heo1-3/+0
2013-08-08cgroup: make hierarchy iterators deal with cgroup_subsys_state instead of cgroupTejun Heo1-4/+4
2013-08-08cgroup: pass around cgroup_subsys_state instead of cgroup in file methodsTejun Heo1-16/+16
2013-05-14blk-throttle: implement proper hierarchy supportTejun Heo1-1/+21
2013-05-14blk-throttle: implement throtl_grp->has_rules[]Tejun Heo1-7/+42
2013-05-14blk-throttle: Account for child group's start time in parent while bio climbs upVivek Goyal1-0/+33
2013-05-14blk-throttle: add throtl_qnode for dispatch fairnessTejun Heo1-25/+176
2013-05-14blk-throttle: make throtl_pending_timer_fn() ready for hierarchyTejun Heo1-7/+33
2013-05-14blk-throttle: make tg_dispatch_one_bio() ready for hierarchyTejun Heo1-7/+21
2013-05-14blk-throttle: make blk_throtl_bio() ready for hierarchyTejun Heo1-7/+20
2013-05-14blk-throttle: make blk_throtl_drain() ready for hierarchyTejun Heo1-11/+40
2013-05-14blk-throttle: dispatch from throtl_pending_timer_fn()Tejun Heo1-25/+44
2013-05-14blk-throttle: implement dispatch loopingTejun Heo1-26/+56
2013-05-14blk-throttle: separate out throtl_service_queue->pending_timer from throtl_da...Tejun Heo1-23/+45
2013-05-14blk-throttle: set REQ_THROTTLED from throtl_charge_bio() and gate stats updat...Tejun Heo1-5/+25
2013-05-14blk-throttle: implement sq_to_tg(), sq_to_td() and throtl_log()Tejun Heo1-29/+81
2013-05-14blk-throttle: add throtl_service_queue->parent_sqTejun Heo1-42/+39
2013-05-14blk-throttle: generalize update_disptime optimization in blk_throtl_bio()Tejun Heo1-10/+18
2013-05-14blk-throttle: dispatch to throtl_data->service_queue.bio_lists[]Tejun Heo1-17/+23
2013-05-14blk-throttle: move bio_lists[] and friends to throtl_service_queueTejun Heo1-24/+39
2013-05-14blk-throttle: add throtl_grp->service_queueTejun Heo1-4/+11
2013-05-14blk-throttle: reorganize throtl_service_queue passed around as argumentTejun Heo1-49/+51