aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-throttle.c
AgeCommit message (Expand)AuthorFilesLines
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
2013-05-14blk-throttle: pass around throtl_service_queue instead of throtl_dataTejun Heo1-25/+28
2013-05-14blk-throttle: add backlink pointer from throtl_grp to throtl_dataTejun Heo1-53/+53
2013-05-14blk-throttle: simplify throtl_grp flag handlingTejun Heo1-25/+9
2013-05-14blk-throttle: rename throtl_rb_root to throtl_service_queueTejun Heo1-42/+42
2013-05-14blk-throttle: remove pointless throtl_nr_queued() optimizationsTejun Heo1-22/+7
2013-05-14blk-throttle: relocate throtl_schedule_delayed_work()Tejun Heo1-16/+13
2013-05-14blk-throttle: collapse throtl_dispatch() into the work functionTejun Heo1-17/+9
2013-05-14blk-throttle: remove deferred config application mechanismTejun Heo1-54/+20
2013-05-14blk-throttle: remove spurious throtl_enqueue_tg() call from throtl_select_dis...Tejun Heo1-3/+1
2012-12-06block: Rename queue dead flagBart Van Assche1-1/+1
2012-08-21workqueue: use mod_delayed_work() instead of __cancel + queueTejun Heo1-6/+1
2012-08-20workqueue: deprecate system_nrt[_freezable]_wqTejun Heo1-4/+3
2012-06-25block: allocate io_context upfrontTejun Heo1-3/+0
2012-05-23blkcg: tg_stats_alloc_lock is an irq lockTejun Heo1-4/+6
2012-05-01Merge tag 'v3.4-rc5' into for-3.5/coreJens Axboe1-1/+1
2012-04-20blkcg: collapse blkcg_policy_ops into blkcg_policyTejun Heo1-7/+6
2012-04-20blkcg: embed struct blkg_policy_data in policy specific dataTejun Heo1-12/+25
2012-04-20blkcg: mass rename of blkcg APITejun Heo1-36/+36
2012-04-20blkcg: remove blkio_group->path[]Tejun Heo1-3/+6
2012-04-20blkcg: drop stuff unused after per-queue policy activation updateTejun Heo1-1/+1
2012-04-20blkcg: implement per-queue policy activationTejun Heo1-33/+19
2012-04-20blkcg: add request_queue->root_blkgTejun Heo1-6/+10
2012-04-20blkcg: make blkg_conf_prep() take @pol and return with queue lock heldTejun Heo1-1/+1
2012-04-20blkcg: remove static policy ID enumsTejun Heo1-3/+1
2012-04-20blkcg: use @pol instead of @plid in update_root_blkg_pd() and blkcg_print_blk...Tejun Heo1-3/+3
2012-04-01blkcg: drop BLKCG_STAT_{PRIV|POL|OFF} macrosTejun Heo1-8/+4
2012-04-01blkcg: pass around pd->pdata instead of pd itself in prfill functionsTejun Heo1-12/+9
2012-04-01blkcg: move blkio_group_conf->iops and ->bps to blk-throttleTejun Heo1-95/+58
2012-04-01blkcg: move blkio_group_stats_cpu and friends to blk-throttle.cTejun Heo1-15/+113
2012-04-01blkcg: cfq doesn't need per-cpu dispatch statsTejun Heo1-1/+30
2012-04-01blkcg: move statistics update code to policiesTejun Heo1-7/+30
2012-04-01blkcg: move conf/stat file handling code to policiesTejun Heo1-29/+134
2012-04-01blkcg: remove unused @pol and @plid parametersTejun Heo1-4/+3
2012-03-30block: use lockdep_assert_held for queue lockingAndi Kleen1-1/+1
2012-03-06block: make blk-throttle preserve the issuing task on delayed biosTejun Heo1-0/+4
2012-03-06block: make block cgroup policies follow bio task associationTejun Heo1-1/+1
2012-03-06blkcg: drop unnecessary RCU lockingTejun Heo1-32/+1
2012-03-06blkcg: unify blkg's for blkcg policiesTejun Heo1-6/+3
2012-03-06blkcg: let blkcg core manage per-queue blkg list and counterTejun Heo1-97/+2
2012-03-06blkcg: move per-queue blkg list heads and counters to queue and blkgTejun Heo1-26/+23
2012-03-06blkcg: don't use blkg->plid in stat related functionsTejun Heo1-1/+3
2012-03-06blkcg: move refcnt to blkcg coreTejun Heo1-54/+4
2012-03-06blkcg: let blkcg core handle policy private data allocationTejun Heo1-39/+40
2012-03-06blkcg: add blkcg_{init|drain|exit}_queue()Tejun Heo1-3/+0
2012-03-06blkcg: let blkio_group point to blkio_cgroup directlyTejun Heo1-0/+3
2012-03-06blkcg: kill the mind-bending blkg->devTejun Heo1-49/+2
2012-03-06blkcg: don't allow or retain configuration of missing devicesTejun Heo1-4/+4
2012-03-06blkcg: factor out blkio_group creationTejun Heo1-103/+52
2012-03-06blkcg: use the usual get blkg path for root blkio_groupTejun Heo1-9/+9
2012-03-06blkcg: use q and plid instead of opaque void * for blkio_group associationTejun Heo1-27/+23
2012-03-06blkcg: update blkg get functions take blkio_cgroup as parameterTejun Heo1-9/+7
2012-03-06blkcg: move rcu_read_lock() outside of blkio_group get functionsTejun Heo1-12/+6
2012-03-06blkcg: shoot down blkio_groups on elevator switchTejun Heo1-2/+25
2012-03-06block: extend queue bypassing to cover blkcg policiesTejun Heo1-2/+2
2011-12-14block: add blk_queue_dead()Tejun Heo1-2/+2
2011-10-25blk-throttle: use queue_is_locked() instead of lockdep_is_held()Jens Axboe1-1/+1
2011-10-19block: fix request_queue lifetime handling by making blk_queue_cleanup() prop...Tejun Heo1-6/+44
2011-10-19block: reorganize throtl_get_tg() and blk_throtl_bio()Tejun Heo1-32/+17
2011-10-19block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg()Tejun Heo1-7/+1
2011-10-19block: move blk_throtl prototypes to block/blk.hTejun Heo1-0/+1
2011-08-01blk-throttle: correctly determine sync bioShaohua Li1-2/+2