Lines Matching full:limit
17 /* Records completed count and recalculates the queue limit */
20 unsigned int inprogress, prev_inprogress, limit; in dql_completed() local
30 limit = dql->limit; in dql_completed()
31 ovlimit = POSDIFF(num_queued - dql->num_completed, limit); in dql_completed()
40 * - The queue was over-limit in the last interval, in dql_completed()
43 * - The queue was over-limit in the previous interval and in dql_completed()
49 * When queue is starved increase the limit by the amount in dql_completed()
51 * plus any previous over-limit. in dql_completed()
53 limit += POSDIFF(completed, dql->prev_num_queued) + in dql_completed()
59 * Queue was not starved, check if the limit can be decreased. in dql_completed()
64 * the amount needed to prevent starvation, the queue limit in dql_completed()
73 * - The queue limit plus previous over-limit minus twice in dql_completed()
76 * of the limit. in dql_completed()
78 * was not part of non-zero previous over-limit. That is in dql_completed()
82 slack = POSDIFF(limit + dql->prev_ovlimit, in dql_completed()
94 limit = POSDIFF(limit, dql->lowest_slack); in dql_completed()
100 /* Enforce bounds on limit */ in dql_completed()
101 limit = clamp(limit, dql->min_limit, dql->max_limit); in dql_completed()
103 if (limit != dql->limit) { in dql_completed()
104 dql->limit = limit; in dql_completed()
108 dql->adj_limit = limit + completed; in dql_completed()
119 dql->limit = 0; in dql_reset()