Lines Matching defs:active

56  * When a cgroup becomes active in terms of IOs, its hierarchical share is
137 * each active cgroup is actually using and yield part of its weight if
161 * active weight hweight% inflt% dbt delay usages%
422 struct list_head active_iocgs; /* active cgroups */
475 * When an idle cgroup becomes active its `active` goes from 0 to
476 * `weight`. `inuse` is the surplus adjusted active weight.
477 * `active` and `inuse` are used to calculate `hweight_active` and
488 u32 active;
515 * The period this iocg was last active in. Used for deactivation
1023 * Update @iocg's `active` and `inuse` to @active and @inuse, update level
1027 static void __propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse,
1036 * For an active leaf node, its inuse shouldn't be zero or exceed
1037 * @active. An active internal node's inuse is solely determined by the
1038 * inuse to active ratio of its children regardless of @inuse.
1041 inuse = DIV64_U64_ROUND_UP(active * iocg->child_inuse_sum,
1044 inuse = clamp_t(u32, inuse, 1, active);
1051 if (active == iocg->active && inuse == iocg->inuse)
1060 parent->child_active_sum += (s32)(active - child->active);
1063 child->active = active;
1067 * The delta between inuse and active sums indicates that
1069 * and active should reflect the ratio.
1079 if (parent_active == parent->active &&
1083 active = parent_active;
1102 static void propagate_weights(struct ioc_gq *iocg, u32 active, u32 inuse,
1105 __propagate_weights(iocg, active, inuse, save, now);
1139 u32 active = READ_ONCE(child->active);
1146 active_sum = max_t(u64, active, active_sum);
1147 hwa = div64_u64((u64)hwa * active, active_sum);
1170 u32 inuse = iocg->active;
1182 inuse = DIV64_U64_ROUND_UP(parent->active * child_inuse_sum,
1199 if (weight != iocg->weight && iocg->active)
1212 * If seem to be already active, just update the stamp to tell the
1213 * timer that we're still active. We don't mind occassional races.
1368 propagate_weights(iocg, iocg->active, 0, false, now);
1395 propagate_weights(iocg, iocg->active, iocg->last_inuse,
1505 /* if already active and close enough, don't bother */
1664 /* get stat counters ready for reading on all active iocgs */
1889 (u64)parent->hweight_active * iocg->active,
1903 pr_cont(": active=%u donating=%u after=%u\n",
1962 (u64)iocg->active * iocg->hweight_donating,
2001 __propagate_weights(iocg, iocg->active, inuse, true, now);
2118 /* take care of active iocgs */
2279 * its inuse to active.
2288 iocg->inuse, iocg->active,
2291 __propagate_weights(iocg, iocg->active,
2292 iocg->active, true, &now);
2452 iocg->inuse == iocg->active)
2457 /* we own inuse only when @iocg is in the normal active state */
2467 * be reading 0 iocg->active before ioc->lock which will lead to
2471 adj_step = DIV_ROUND_UP(iocg->active * INUSE_ADJ_STEP_PCT, 100);
2474 propagate_weights(iocg, iocg->active, new_inuse, true, now);
2478 iocg->inuse != iocg->active);
2652 if (!iocg->abs_vdebt && iocg->inuse != iocg->active) {
2658 propagate_weights(iocg, iocg->active, iocg->active, true,