aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk-iocost.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-19blk-iocost: do not WARN if iocg was already offlinedLi Nan1-2/+5
2024-04-05blk-iocost: avoid out of bounds shiftRik van Riel1-3/+4
2024-03-11Merge tag 'for-6.9/block-20240310' of git://git.kernel.dk/linuxLinus Torvalds1-4/+4
2024-02-08blk-iocost: Fix an UBSAN shift-out-of-bounds warningTejun Heo1-0/+7
2024-02-05block: add blk_time_get_ns() and blk_time_get() helpersJens Axboe1-4/+4
2024-01-10block/iocost: silence warning on 'last_period' potentially being unusedJens Axboe1-1/+1
2023-08-09blk-iocost: fix queue stats accountingChengming Zhou1-2/+3
2023-07-20blk-iocost: skip empty flush bio in iocostChengming Zhou1-0/+4
2023-06-26blk-iocost: move wbt_enable/disable_default() out of spinlockYu Kuai1-2/+5
2023-06-05blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_costLi Nan1-3/+4
2023-04-13blkcg: Restructure blkg_conf_prep() and friendsTejun Heo1-24/+34
2023-02-28blk-iocost: Pass gendisk to ioc_refresh_paramsBreno Leitao1-6/+20
2023-02-14Revert "blk-cgroup: pin the gendisk in struct blkcg_gq"Christoph Hellwig1-1/+1
2023-02-03blk-cgroup: pass a gendisk to pd_alloc_fnChristoph Hellwig1-3/+4
2023-02-03blk-cgroup: pass a gendisk to blkcg_{de,}activate_policyChristoph Hellwig1-2/+2
2023-02-03blk-rq-qos: store a gendisk instead of request_queue in struct rq_qosChristoph Hellwig1-6/+6
2023-02-03blk-rq-qos: constify rq_qos_opsChristoph Hellwig1-1/+1
2023-02-03blk-rq-qos: make rq_qos_add and rq_qos_del more usefulChristoph Hellwig1-10/+3
2023-02-03blk-wbt: pass a gendisk to wbt_{enable,disable}_defaultChristoph Hellwig1-2/+2
2023-02-03blk-cgroup: pin the gendisk in struct blkcg_gqChristoph Hellwig1-1/+1
2023-01-29blk-iocost: change div64_u64 to DIV64_U64_ROUND_UP in ioc_refresh_params()Li Nan1-2/+2
2023-01-29blk-iocost: fix divide by 0 error in calc_lcoefs()Li Nan1-3/+8
2023-01-29blk-iocost: read params inside lock in sysfs apisYu Kuai1-0/+4
2023-01-29blk-iocost: don't allow to configure bio based deviceYu Kuai1-0/+10
2023-01-29blk-iocost: check return value of match_u64()Yu Kuai1-1/+2
2023-01-29blk-iocost: avoid 64-bit division in ioc_timer_fnArnd Bergmann1-3/+5
2022-12-25treewide: Convert del_timer*() to timer_shutdown*()Steven Rostedt (Google)1-1/+1
2022-12-14block/blk-iocost (gcc13): keep large values in a new enumJiri Slaby (SUSE)1-0/+2
2022-12-01blk-iocost: Correct comment in blk_iocost_initKemeng Shi1-1/+1
2022-12-01blk-iocost: Remove vrate member in struct ioc_nowKemeng Shi1-3/+3
2022-12-01blk-iocost: Trace vtime_base_rate instead of vtime_rateKemeng Shi1-1/+1
2022-12-01blk-iocost: Reset vtime_base_rate in ioc_refresh_paramsKemeng Shi1-1/+3
2022-12-01blk-iocost: Fix typo in commentKemeng Shi1-1/+1
2022-10-23blk-iocost: read 'ioc->params' inside 'ioc->lock' in ioc_timer_fn()Yu Kuai1-2/+4
2022-10-23blk-iocost: prevent configuration update concurrent with io throttlingYu Kuai1-2/+24
2022-10-23blk-iocost: don't release 'ioc->lock' while updating paramsYu Kuai1-5/+2
2022-10-23blk-iocost: disable writeback throttlingYu Kuai1-0/+2
2022-09-26blk-cgroup: pass a gendisk to blkcg_schedule_throttleChristoph Hellwig1-2/+2
2022-09-26blk-iocost: cleanup ioc_qos_writeChristoph Hellwig1-6/+8
2022-09-26blk-iocost: pass a gendisk to blk_iocost_initChristoph Hellwig1-3/+4
2022-09-26blk-iocost: simplify ioc_nameChristoph Hellwig1-9/+5
2022-09-20blk-iocost: Remove unnecessary (void*) conversionsLi zeming1-1/+1
2022-07-20block: don't allow the same type rq_qos add more than onceJinke Han1-7/+13
2022-06-27blk-iocost: Simplify ioc_rqos_done()Bart Van Assche1-1/+1
2022-05-23Merge tag 'for-5.19/block-2022-05-22' of git://git.kernel.dk/linux-blockLinus Torvalds1-42/+34
2022-05-17blk-cgroup: always terminate io.stat linesWolfgang Bumiller1-3/+2
2022-05-11blk-iocost: combine local_stat and desc_stat to statChengming Zhou1-39/+32
2022-04-27iocost: don't reset the inuse weight of under-weighted debtorsTejun Heo1-1/+11
2022-02-11block: partition include/linux/blk-cgroup.hMing Lei1-1/+1
2021-12-14iocost: Fix divide-by-zero on donation from low hweight cgroupTejun Heo1-1/+8
2021-10-18block: convert the rest of block to bdev_get_queuePavel Begunkov1-6/+6
2021-08-30Merge tag 'for-5.15/block-2021-08-30' of git://git.kernel.dk/linux-blockLinus Torvalds1-14/+9
2021-08-16blk-cgroup: stop using seq_get_bufChristoph Hellwig1-14/+9
2021-08-09blk-iocost: fix lockdep warning on blkcg->lockMing Lei1-4/+4
2021-07-27blk-iocost: fix operation ordering in iocg_wake_fn()Tejun Heo1-5/+6
2021-05-11blk-iocost: fix weight updates of inner active iocgsTejun Heo1-2/+12
2021-04-26blk-iocost: don't ignore vrate_min on QD contentionTejun Heo1-4/+0
2021-01-05blk-iocost: fix NULL iocg deref from racing against initializationTejun Heo1-5/+11
2020-12-17blk-iocost: Add iocg idle state tracepointBaolin Wang1-0/+3
2020-12-07blk-iocost: Factor out the base vrate change into a separate functionBaolin Wang1-45/+54
2020-12-07blk-iocost: Factor out the active iocgs' state check into a separate functionBaolin Wang1-40/+54
2020-12-07blk-iocost: Move the usage ratio calculation to the correct placeBaolin Wang1-21/+23
2020-12-07blk-iocost: Remove unnecessary advance declarationBaolin Wang1-2/+0
2020-12-07blk-iocost: Fix some typos in commentsBaolin Wang1-6/+6
2020-12-01block: simplify bdev/disk lookup in blkdev_getChristoph Hellwig1-18/+18
2020-10-09block: use helper function to test queue registerYufen Yu1-1/+1
2020-10-08block: Remove redundant 'return' statementBaolin Wang1-1/+1
2020-09-25iocost: consider iocgs with active delays for debt forgivenessTejun Heo1-4/+7
2020-09-25iocost: add iocg_forgive_debt tracepointTejun Heo1-0/+12
2020-09-25iocost: reimplement debt forgiveness using average usageTejun Heo1-25/+69
2020-09-25iocost: recalculate delay after debt reductionTejun Heo1-1/+3
2020-09-25iocost: replace nr_shortages cond in ioc_forgive_debts() with busy_level oneTejun Heo1-8/+5
2020-09-25iocost: factor out ioc_forgive_debts()Tejun Heo1-31/+35
2020-09-14iocost: fix infinite loop bug in adjust_inuse_and_calc_cost()Tejun Heo1-3/+9
2020-09-11blk-iocost: fix divide-by-zero in transfer_surpluses()Tejun Heo1-4/+10
2020-09-01blk-iocost: add three debug stat - cost.wait, indebt and indelayTejun Heo1-5/+72
2020-09-01blk-iocost: restore inuse update tracepointsTejun Heo1-0/+16
2020-09-01blk-iocost: implement vtime loss compensationTejun Heo1-42/+90
2020-09-01blk-iocost: halve debts if device stays idleTejun Heo1-1/+48
2020-09-01blk-iocost: implement delay adjustment hysteresisTejun Heo1-50/+69
2020-09-01blk-iocost: revamp debt handlingTejun Heo1-24/+93
2020-09-01blk-iocost: revamp in-period donation snapbacksTejun Heo1-37/+96
2020-09-01blk-iocost: revamp donation amount determinationTejun Heo1-82/+51
2020-09-01blk-iocost: implement Andy's method for donation weight updatesTejun Heo1-8/+244
2020-09-01blk-iocost: restructure surplus donation logicTejun Heo1-76/+103
2020-09-01blk-iocost: decouple vrate adjustment from surplus transfersTejun Heo1-12/+7
2020-09-01blk-iocost: replace iocg->has_surplus with ->surplus_listTejun Heo1-8/+11
2020-09-01blk-iocost: calculate iocg->usages[] from iocg->local_stat.usage_usTejun Heo1-27/+45
2020-09-01blk-iocost: add absolute usage statTejun Heo1-6/+149
2020-09-01blk-iocost: grab ioc->lock for debt handlingTejun Heo1-19/+73
2020-09-01blk-iocost: streamline vtime margin and timer slack handlingTejun Heo1-29/+38
2020-09-01blk-iocost: make ioc_now->now and ioc->period_at 64bitTejun Heo1-2/+2
2020-09-01blk-iocost: use WEIGHT_ONE based fixed point number for weightsTejun Heo1-12/+13
2020-09-01blk-iocost: s/HWEIGHT_WHOLE/WEIGHT_ONE/gTejun Heo1-10/+10
2020-09-01blk-iocost: make iocg_kick_waitq() call iocg_kick_delay() after paying debtTejun Heo1-1/+2
2020-09-01blk-iocost: move iocg_kick_delay() above iocg_kick_waitq()Tejun Heo1-60/+60
2020-09-01blk-iocost: clamp inuse and skip noops in __propagate_weights()Tejun Heo1-1/+4
2020-09-01blk-iocost: rename propagate_active_weights() to propagate_weights()Tejun Heo1-20/+20
2020-09-01blk-iocost: use local[64]_t for percpu statTejun Heo1-10/+27
2020-09-01blk-iocost: ioc_pd_free() shouldn't assume irq disabledTejun Heo1-2/+3
2020-08-10Merge tag 'locking-urgent-2020-08-10' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-3/+2
2020-07-30iocost: Fix check condition of iocg abs_vdebtChengming Zhou1-1/+1
2020-07-29iocost: Use sequence counter with associated spinlockAhmed S. Darwish1-3/+2
2020-06-24blk-iocost: Use struct_size() in kzalloc_node()Gustavo A. R. Silva1-2/+1
2020-05-14iocost: don't let vrate run wild while there's no saturation signalTejun Heo1-4/+24
2020-05-09Merge branch 'block-5.7' into for-5.8/blockJens Axboe1-48/+73
2020-05-05iocost: protect iocg->abs_vdebt with iocg->waitq.lockTejun Heo1-46/+71
2020-04-30blk-iocost: account for IO size when testing latenciesTejun Heo1-2/+31
2020-04-30blk-iocost: switch to fixed non-auto-decaying use_delayTejun Heo1-14/+9
2020-04-21blk-iocost: Fix error on iocost_ioc_vrate_adjWaiman Long1-2/+2
2020-03-30Merge tag 'for-5.7/block-2020-03-29' of git://git.kernel.dk/linux-blockLinus Torvalds1-3/+0
2020-03-12blk-iocost: remove duplicated lines in commentsWeiping Zhang1-3/+0
2020-03-10blk-iocost: fix incorrect vtime comparison in iocg_is_idle()Tejun Heo1-1/+1
2019-12-16iocost: over-budget forced IOs should schedule async delayTejun Heo1-5/+8
2019-11-14iocost: check active_list of all the ancestors in iocg_activate()Jiufei Xue1-2/+6
2019-10-31iocost: don't nest spin_lock_irq in ioc_weight_write()Dan Carpenter1-2/+2
2019-09-26iocost: bump up default latency targets for hard disksTejun Heo1-2/+2
2019-09-26iocost: improve nr_lagging handlingTejun Heo1-8/+11
2019-09-26iocost: better trace vrate changesTejun Heo1-1/+6
2019-09-10iocost_monitor: Report debtTejun Heo1-3/+3
2019-09-10blk-iocost: Don't let merges push vtime into the futureTejun Heo1-7/+18
2019-09-10blk-iocost: Account force-charged overage in absolute vtimeTejun Heo1-7/+55
2019-09-10blk-iocost: Fix incorrect operation order during iocg freeTejun Heo1-3/+3
2019-08-30blkcg: add missing NULL check in ioc_cpd_alloc()Tejun Heo1-1/+3
2019-08-29blkcg: fix missing free on error path of blk_iocost_init()Tejun Heo1-0/+1
2019-08-28blkcg: add tools/cgroup/iocost_coef_gen.pyTejun Heo1-0/+3
2019-08-28blkcg: add tools/cgroup/iocost_monitor.pyTejun Heo1-0/+21
2019-08-28blkcg: implement blk-iocostTejun Heo1-0/+2371