/kernel/linux/linux-5.10/block/ |
H A D | blk-iocost.c | 195 #define TRACE_IOCG_PATH(type, iocg, ...) \ 200 cgroup_path(iocg_to_blkg(iocg)->blkcg->css.cgroup, \ 202 trace_iocost_##type(iocg, trace_iocg_path, \ 209 #define TRACE_IOCG_PATH(type, iocg, ...) do { } while (0) 220 * iocg->vtime is targeted at 50% behind the device vtime, which 469 * A iocg can get its weight from two sources - an explicit 480 * `last_inuse` remembers `inuse` while an iocg is idle to persist 497 * `vtime` is this iocg's vtime cursor which progresses as IOs are 515 * The period this iocg was last active in. Used for deactivation 551 /* this iocg' 577 struct ioc_gq *iocg; global() member 697 iocg_to_blkg(struct ioc_gq *iocg) iocg_to_blkg() argument 725 iocg_commit_bio(struct ioc_gq *iocg, struct bio *bio, u64 abs_cost, u64 cost) iocg_commit_bio() argument 738 iocg_lock(struct ioc_gq *iocg, bool lock_ioc, unsigned long *flags) iocg_lock() argument 748 iocg_unlock(struct ioc_gq *iocg, bool unlock_ioc, unsigned long *flags) iocg_unlock() argument 1027 __propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse, bool save, struct ioc_now *now) __propagate_weights() argument 1102 propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse, bool save, struct ioc_now *now) propagate_weights() argument 1109 current_hweight(struct ioc_gq *iocg, u32 *hw_activep, u32 *hw_inusep) current_hweight() argument 1167 current_hweight_max(struct ioc_gq *iocg) current_hweight_max() argument 1189 weight_updated(struct ioc_gq *iocg, struct ioc_now *now) weight_updated() argument 1204 iocg_activate(struct ioc_gq *iocg, struct ioc_now *now) iocg_activate() argument 1289 iocg_kick_delay(struct ioc_gq *iocg, struct ioc_now *now) iocg_kick_delay() argument 1353 iocg_incur_debt(struct ioc_gq *iocg, u64 abs_cost, struct ioc_now *now) iocg_incur_debt() argument 1378 iocg_pay_debt(struct ioc_gq *iocg, u64 abs_vpay, struct ioc_now *now) iocg_pay_debt() argument 1432 iocg_kick_waitq(struct ioc_gq *iocg, bool pay_debt, struct ioc_now *now) iocg_kick_waitq() argument 1517 struct ioc_gq *iocg = container_of(timer, struct ioc_gq, waitq_timer); iocg_waitq_timer_fn() local 1571 iocg_is_idle(struct ioc_gq *iocg) iocg_is_idle() argument 1592 iocg_build_inner_walk(struct ioc_gq *iocg, struct list_head *inner_walk) iocg_build_inner_walk() argument 1615 iocg_flush_stat_one(struct ioc_gq *iocg, struct ioc_now *now) iocg_flush_stat_one() argument 1668 struct ioc_gq *iocg, *tiocg; iocg_flush_stat() local 1688 hweight_after_donation(struct ioc_gq *iocg, u32 old_hwi, u32 hwm, u32 usage, struct ioc_now *now) hweight_after_donation() argument 1798 struct ioc_gq *iocg, *tiocg, *root_iocg; transfer_surpluses() local 2023 struct ioc_gq *iocg; ioc_forgive_debts() local 2104 struct ioc_gq *iocg, *tiocg; ioc_timer_fn() local 2427 adjust_inuse_and_calc_cost(struct ioc_gq *iocg, u64 vtime, u64 abs_cost, struct ioc_now *now) adjust_inuse_and_calc_cost() argument 2488 calc_vtime_cost_builtin(struct bio *bio, struct ioc_gq *iocg, bool is_merge, u64 *costp) calc_vtime_cost_builtin() argument 2529 calc_vtime_cost(struct bio *bio, struct ioc_gq *iocg, bool is_merge) calc_vtime_cost() argument 2566 struct ioc_gq *iocg = blkg_to_iocg(blkg); ioc_rqos_throttle() local 2700 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg); ioc_rqos_merge() local 2758 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg); ioc_rqos_done_bio() local 2923 struct ioc_gq *iocg; ioc_pd_alloc() local 2940 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_init() local 2977 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_free() local 3005 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_stat() local 3037 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_weight_prfill() local 3063 struct ioc_gq *iocg; ioc_weight_write() local 3079 struct ioc_gq *iocg = blkg_to_iocg(blkg); ioc_weight_write() local [all...] |
/kernel/linux/linux-6.6/block/ |
H A D | blk-iocost.c | 195 #define TRACE_IOCG_PATH(type, iocg, ...) \ 200 cgroup_path(iocg_to_blkg(iocg)->blkcg->css.cgroup, \ 202 trace_iocost_##type(iocg, trace_iocg_path, \ 209 #define TRACE_IOCG_PATH(type, iocg, ...) do { } while (0) 220 * iocg->vtime is targeted at 50% behind the device vtime, which 467 * A iocg can get its weight from two sources - an explicit 478 * `last_inuse` remembers `inuse` while an iocg is idle to persist 495 * `vtime` is this iocg's vtime cursor which progresses as IOs are 513 * The period this iocg was last active in. Used for deactivation 548 /* this iocg' 573 struct ioc_gq *iocg; global() member 689 iocg_to_blkg(struct ioc_gq *iocg) iocg_to_blkg() argument 717 iocg_commit_bio(struct ioc_gq *iocg, struct bio *bio, u64 abs_cost, u64 cost) iocg_commit_bio() argument 730 iocg_lock(struct ioc_gq *iocg, bool lock_ioc, unsigned long *flags) iocg_lock() argument 740 iocg_unlock(struct ioc_gq *iocg, bool unlock_ioc, unsigned long *flags) iocg_unlock() argument 1084 __propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse, bool save, struct ioc_now *now) __propagate_weights() argument 1159 propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse, bool save, struct ioc_now *now) propagate_weights() argument 1166 current_hweight(struct ioc_gq *iocg, u32 *hw_activep, u32 *hw_inusep) current_hweight() argument 1224 current_hweight_max(struct ioc_gq *iocg) current_hweight_max() argument 1246 weight_updated(struct ioc_gq *iocg, struct ioc_now *now) weight_updated() argument 1261 iocg_activate(struct ioc_gq *iocg, struct ioc_now *now) iocg_activate() argument 1346 iocg_kick_delay(struct ioc_gq *iocg, struct ioc_now *now) iocg_kick_delay() argument 1410 iocg_incur_debt(struct ioc_gq *iocg, u64 abs_cost, struct ioc_now *now) iocg_incur_debt() argument 1435 iocg_pay_debt(struct ioc_gq *iocg, u64 abs_vpay, struct ioc_now *now) iocg_pay_debt() argument 1489 iocg_kick_waitq(struct ioc_gq *iocg, bool pay_debt, struct ioc_now *now) iocg_kick_waitq() argument 1574 struct ioc_gq *iocg = container_of(timer, struct ioc_gq, waitq_timer); iocg_waitq_timer_fn() local 1628 iocg_is_idle(struct ioc_gq *iocg) iocg_is_idle() argument 1649 iocg_build_inner_walk(struct ioc_gq *iocg, struct list_head *inner_walk) iocg_build_inner_walk() argument 1672 iocg_flush_stat_upward(struct ioc_gq *iocg) iocg_flush_stat_upward() argument 1692 iocg_flush_stat_leaf(struct ioc_gq *iocg, struct ioc_now *now) iocg_flush_stat_leaf() argument 1719 struct ioc_gq *iocg, *tiocg; iocg_flush_stat() local 1739 hweight_after_donation(struct ioc_gq *iocg, u32 old_hwi, u32 hwm, u32 usage, struct ioc_now *now) hweight_after_donation() argument 1849 struct ioc_gq *iocg, *tiocg, *root_iocg; transfer_surpluses() local 2074 struct ioc_gq *iocg; ioc_forgive_debts() local 2165 struct ioc_gq *iocg, *tiocg; ioc_check_iocgs() local 2233 struct ioc_gq *iocg, *tiocg; ioc_timer_fn() local 2456 adjust_inuse_and_calc_cost(struct ioc_gq *iocg, u64 vtime, u64 abs_cost, struct ioc_now *now) adjust_inuse_and_calc_cost() argument 2517 calc_vtime_cost_builtin(struct bio *bio, struct ioc_gq *iocg, bool is_merge, u64 *costp) calc_vtime_cost_builtin() argument 2562 calc_vtime_cost(struct bio *bio, struct ioc_gq *iocg, bool is_merge) calc_vtime_cost() argument 2599 struct ioc_gq *iocg = blkg_to_iocg(blkg); ioc_rqos_throttle() local 2733 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg); ioc_rqos_merge() local 2791 struct ioc_gq *iocg = blkg_to_iocg(bio->bi_blkg); ioc_rqos_done_bio() local 2956 struct ioc_gq *iocg; ioc_pd_alloc() local 2974 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_init() local 3011 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_free() local 3039 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_pd_stat() local 3065 struct ioc_gq *iocg = pd_to_iocg(pd); ioc_weight_prfill() local 3091 struct ioc_gq *iocg; ioc_weight_write() local 3107 struct ioc_gq *iocg = blkg_to_iocg(blkg); ioc_weight_write() local [all...] |
/kernel/linux/linux-6.6/include/trace/events/ |
H A D | iocost.h | 16 TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now, 19 TP_ARGS(iocg, path, now, last_period, cur_period, vtime), 22 __string(devname, ioc_name(iocg->ioc)) 37 __assign_str(devname, ioc_name(iocg->ioc)); 41 __entry->vrate = iocg->ioc->vtime_base_rate; 45 __entry->weight = iocg->weight; 46 __entry->inuse = iocg->inuse; 47 __entry->hweight_active = iocg->hweight_active; 48 __entry->hweight_inuse = iocg->hweight_inuse; 63 TP_PROTO(struct ioc_gq *iocg, cons [all...] |
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | iocost.h | 16 TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now, 19 TP_ARGS(iocg, path, now, last_period, cur_period, vtime), 22 __string(devname, ioc_name(iocg->ioc)) 37 __assign_str(devname, ioc_name(iocg->ioc)); 45 __entry->weight = iocg->weight; 46 __entry->inuse = iocg->inuse; 47 __entry->hweight_active = iocg->hweight_active; 48 __entry->hweight_inuse = iocg->hweight_inuse; 64 TP_PROTO(struct ioc_gq *iocg, const char *path, struct ioc_now *now, 68 TP_ARGS(iocg, pat [all...] |
/kernel/linux/linux-6.6/tools/cgroup/ |
H A D | iocost_monitor.py | 144 def __init__(self, iocg): 145 ioc = iocg.ioc 146 blkg = iocg.pd.blkg 148 self.is_active = not list_empty(iocg.active_list.address_of_()) 149 self.weight = iocg.weight.value_() / WEIGHT_ONE 150 self.active = iocg.active.value_() / WEIGHT_ONE 151 self.inuse = iocg.inuse.value_() / WEIGHT_ONE 152 self.hwa_pct = iocg.hweight_active.value_() * 100 / WEIGHT_ONE 153 self.hwi_pct = iocg.hweight_inuse.value_() * 100 / WEIGHT_ONE 154 self.address = iocg [all...] |
/kernel/linux/linux-5.10/tools/cgroup/ |
H A D | iocost_monitor.py | 141 def __init__(self, iocg): 142 ioc = iocg.ioc 143 blkg = iocg.pd.blkg 145 self.is_active = not list_empty(iocg.active_list.address_of_()) 146 self.weight = iocg.weight.value_() / WEIGHT_ONE 147 self.active = iocg.active.value_() / WEIGHT_ONE 148 self.inuse = iocg.inuse.value_() / WEIGHT_ONE 149 self.hwa_pct = iocg.hweight_active.value_() * 100 / WEIGHT_ONE 150 self.hwi_pct = iocg.hweight_inuse.value_() * 100 / WEIGHT_ONE 151 self.address = iocg [all...] |