| 33a1fe6d822b ("iocost: replace nr_shortages cond in ioc_forgive_debts() with busy_level one") |
| ab8df828b5f6 ("iocost: factor out ioc_forgive_debts()") |
| dda1315f1853 ("blk-iocost: halve debts if device stays idle") |
| 5160a5a53c0c ("blk-iocost: implement delay adjustment hysteresis") |
| c421a3eb2e27 ("blk-iocost: revamp debt handling") |
| b0853ab4a238 ("blk-iocost: revamp in-period donation snapbacks") |
| f1de2439ec43 ("blk-iocost: revamp donation amount determination") |
| e08d02aa5fc9 ("blk-iocost: implement Andy's method for donation weight updates") |
| 93f7d2db80e4 ("blk-iocost: restructure surplus donation logic") |
| 065655c862fe ("blk-iocost: decouple vrate adjustment from surplus transfers") |
| 8692d2db8e01 ("blk-iocost: replace iocg->has_surplus with ->surplus_list") |
| 1aa50d020c71 ("blk-iocost: calculate iocg->usages[] from iocg->local_stat.usage_us") |
| 97eb19751f15 ("blk-iocost: add absolute usage stat") |
| da437b95db83 ("blk-iocost: grab ioc->lock for debt handling") |
| 7ca5b2e60bfa ("blk-iocost: streamline vtime margin and timer slack handling") |
| bd0adb91a68b ("blk-iocost: use WEIGHT_ONE based fixed point number for weights") |
| fe20cdb51637 ("blk-iocost: s/HWEIGHT_WHOLE/WEIGHT_ONE/g") |
| 7b84b49e381a ("blk-iocost: make iocg_kick_waitq() call iocg_kick_delay() after paying debt") |
| 6ef20f787b0a ("blk-iocost: move iocg_kick_delay() above iocg_kick_waitq()") |
| db84a72af6be ("blk-iocost: clamp inuse and skip noops in __propagate_weights()") |
| 00410f1b09fe ("blk-iocost: rename propagate_active_weights() to propagate_weights()") |
| 5aeac7c4b160 ("blk-iocost: ioc_pd_free() shouldn't assume irq disabled") |
| d9012a59db54 ("iocost: Fix check condition of iocg abs_vdebt") |
| 81ca627a9330 ("iocost: don't let vrate run wild while there's no saturation signal") |
| 873f1c8df7e0 ("Merge branch 'block-5.7' into for-5.8/block") |