dql 73 include/linux/dynamic_queue_limits.h static inline void dql_queued(struct dql *dql, unsigned int count) dql 77 include/linux/dynamic_queue_limits.h dql->last_obj_cnt = count; dql 86 include/linux/dynamic_queue_limits.h dql->num_queued += count; dql 90 include/linux/dynamic_queue_limits.h static inline int dql_avail(const struct dql *dql) dql 92 include/linux/dynamic_queue_limits.h return READ_ONCE(dql->adj_limit) - READ_ONCE(dql->num_queued); dql 96 include/linux/dynamic_queue_limits.h void dql_completed(struct dql *dql, unsigned int count); dql 99 include/linux/dynamic_queue_limits.h void dql_reset(struct dql *dql); dql 102 include/linux/dynamic_queue_limits.h void dql_init(struct dql *dql, unsigned int hold_time); dql 629 include/linux/netdevice.h struct dql dql; dql 3187 include/linux/netdevice.h prefetchw(&dev_queue->dql.num_queued); dql 3201 include/linux/netdevice.h prefetchw(&dev_queue->dql.limit); dql 3209 include/linux/netdevice.h dql_queued(&dev_queue->dql, bytes); dql 3211 include/linux/netdevice.h if (likely(dql_avail(&dev_queue->dql) >= 0)) dql 3224 include/linux/netdevice.h if (unlikely(dql_avail(&dev_queue->dql) >= 0)) dql 3241 include/linux/netdevice.h dql_queued(&dev_queue->dql, bytes); dql 3278 include/linux/netdevice.h dql_completed(&dev_queue->dql, bytes); dql 3287 include/linux/netdevice.h if (unlikely(dql_avail(&dev_queue->dql) < 0)) dql 3315 include/linux/netdevice.h dql_reset(&q->dql); dql 189 include/net/sch_generic.h return dql_avail(&txq->dql); dql 18 lib/dynamic_queue_limits.c void dql_completed(struct dql *dql, unsigned int count) dql 24 lib/dynamic_queue_limits.c num_queued = READ_ONCE(dql->num_queued); dql 27 lib/dynamic_queue_limits.c BUG_ON(count > num_queued - dql->num_completed); dql 29 lib/dynamic_queue_limits.c completed = dql->num_completed + count; dql 30 lib/dynamic_queue_limits.c limit = dql->limit; dql 31 lib/dynamic_queue_limits.c ovlimit = POSDIFF(num_queued - dql->num_completed, limit); dql 33 lib/dynamic_queue_limits.c prev_inprogress = dql->prev_num_queued - dql->num_completed; dql 34 lib/dynamic_queue_limits.c all_prev_completed = AFTER_EQ(completed, dql->prev_num_queued); dql 37 lib/dynamic_queue_limits.c (dql->prev_ovlimit && all_prev_completed)) { dql 53 lib/dynamic_queue_limits.c limit += POSDIFF(completed, dql->prev_num_queued) + dql 54 lib/dynamic_queue_limits.c dql->prev_ovlimit; dql 55 lib/dynamic_queue_limits.c dql->slack_start_time = jiffies; dql 56 lib/dynamic_queue_limits.c dql->lowest_slack = UINT_MAX; dql 82 lib/dynamic_queue_limits.c slack = POSDIFF(limit + dql->prev_ovlimit, dql 83 lib/dynamic_queue_limits.c 2 * (completed - dql->num_completed)); dql 84 lib/dynamic_queue_limits.c slack_last_objs = dql->prev_ovlimit ? dql 85 lib/dynamic_queue_limits.c POSDIFF(dql->prev_last_obj_cnt, dql->prev_ovlimit) : 0; dql 89 lib/dynamic_queue_limits.c if (slack < dql->lowest_slack) dql 90 lib/dynamic_queue_limits.c dql->lowest_slack = slack; dql 93 lib/dynamic_queue_limits.c dql->slack_start_time + dql->slack_hold_time)) { dql 94 lib/dynamic_queue_limits.c limit = POSDIFF(limit, dql->lowest_slack); dql 95 lib/dynamic_queue_limits.c dql->slack_start_time = jiffies; dql 96 lib/dynamic_queue_limits.c dql->lowest_slack = UINT_MAX; dql 101 lib/dynamic_queue_limits.c limit = clamp(limit, dql->min_limit, dql->max_limit); dql 103 lib/dynamic_queue_limits.c if (limit != dql->limit) { dql 104 lib/dynamic_queue_limits.c dql->limit = limit; dql 108 lib/dynamic_queue_limits.c dql->adj_limit = limit + completed; dql 109 lib/dynamic_queue_limits.c dql->prev_ovlimit = ovlimit; dql 110 lib/dynamic_queue_limits.c dql->prev_last_obj_cnt = dql->last_obj_cnt; dql 111 lib/dynamic_queue_limits.c dql->num_completed = completed; dql 112 lib/dynamic_queue_limits.c dql->prev_num_queued = num_queued; dql 116 lib/dynamic_queue_limits.c void dql_reset(struct dql *dql) dql 119 lib/dynamic_queue_limits.c dql->limit = 0; dql 120 lib/dynamic_queue_limits.c dql->num_queued = 0; dql 121 lib/dynamic_queue_limits.c dql->num_completed = 0; dql 122 lib/dynamic_queue_limits.c dql->last_obj_cnt = 0; dql 123 lib/dynamic_queue_limits.c dql->prev_num_queued = 0; dql 124 lib/dynamic_queue_limits.c dql->prev_last_obj_cnt = 0; dql 125 lib/dynamic_queue_limits.c dql->prev_ovlimit = 0; dql 126 lib/dynamic_queue_limits.c dql->lowest_slack = UINT_MAX; dql 127 lib/dynamic_queue_limits.c dql->slack_start_time = jiffies; dql 131 lib/dynamic_queue_limits.c void dql_init(struct dql *dql, unsigned int hold_time) dql 133 lib/dynamic_queue_limits.c dql->max_limit = DQL_MAX_LIMIT; dql 134 lib/dynamic_queue_limits.c dql->min_limit = 0; dql 135 lib/dynamic_queue_limits.c dql->slack_hold_time = hold_time; dql 136 lib/dynamic_queue_limits.c dql_reset(dql); dql 8904 net/core/dev.c dql_init(&queue->dql, HZ); dql 1162 net/core/net-sysfs.c struct dql *dql = &queue->dql; dql 1164 net/core/net-sysfs.c return sprintf(buf, "%u\n", jiffies_to_msecs(dql->slack_hold_time)); dql 1170 net/core/net-sysfs.c struct dql *dql = &queue->dql; dql 1178 net/core/net-sysfs.c dql->slack_hold_time = msecs_to_jiffies(value); dql 1190 net/core/net-sysfs.c struct dql *dql = &queue->dql; dql 1192 net/core/net-sysfs.c return sprintf(buf, "%u\n", dql->num_queued - dql->num_completed); dql 1202 net/core/net-sysfs.c return bql_show(buf, queue->dql.FIELD); \ dql 1208 net/core/net-sysfs.c return bql_set(buf, len, &queue->dql.FIELD); \