Symbol: dql
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
2828
struct dql *dql = &q->dql;
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
2831
dql->last_obj_cnt, dql->num_queued,
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
2832
dql->adj_limit, dql->num_completed);
include/linux/dynamic_queue_limits.h
104
(dql->history_head + i) * BITS_PER_LONG)
include/linux/dynamic_queue_limits.h
106
DQL_HIST_ENT(dql, dql->history_head + i + 1) = 0;
include/linux/dynamic_queue_limits.h
110
WRITE_ONCE(dql->history_head, now_hi);
include/linux/dynamic_queue_limits.h
114
map = DQL_HIST_ENT(dql, now_hi);
include/linux/dynamic_queue_limits.h
118
WRITE_ONCE(DQL_HIST_ENT(dql, now_hi), map | BIT_MASK(now));
include/linux/dynamic_queue_limits.h
125
static inline void dql_queued(struct dql *dql, unsigned int count)
include/linux/dynamic_queue_limits.h
130
WRITE_ONCE(dql->last_obj_cnt, count);
include/linux/dynamic_queue_limits.h
139
dql->num_queued += count;
include/linux/dynamic_queue_limits.h
142
if (READ_ONCE(dql->stall_thrs))
include/linux/dynamic_queue_limits.h
143
dql_queue_stall(dql);
include/linux/dynamic_queue_limits.h
147
static inline int dql_avail(const struct dql *dql)
include/linux/dynamic_queue_limits.h
149
return READ_ONCE(dql->adj_limit) - READ_ONCE(dql->num_queued);
include/linux/dynamic_queue_limits.h
153
void dql_completed(struct dql *dql, unsigned int count);
include/linux/dynamic_queue_limits.h
156
void dql_reset(struct dql *dql);
include/linux/dynamic_queue_limits.h
159
void dql_init(struct dql *dql, unsigned int hold_time);
include/linux/dynamic_queue_limits.h
45
#define DQL_HIST_ENT(dql, idx) ((dql)->history[(idx) % DQL_HIST_LEN])
include/linux/dynamic_queue_limits.h
88
static inline void dql_queue_stall(struct dql *dql)
include/linux/dynamic_queue_limits.h
99
if (unlikely(now_hi != dql->history_head)) {
include/linux/netdevice.h
3759
dev_queue->dql.min_limit = min_limit;
include/linux/netdevice.h
3767
return dql_avail(&txq->dql);
include/linux/netdevice.h
3783
prefetchw(&dev_queue->dql.num_queued);
include/linux/netdevice.h
3797
prefetchw(&dev_queue->dql.limit);
include/linux/netdevice.h
3815
dql_queued(&dev_queue->dql, bytes);
include/linux/netdevice.h
3817
if (likely(dql_avail(&dev_queue->dql) >= 0))
include/linux/netdevice.h
3836
if (unlikely(dql_avail(&dev_queue->dql) >= 0))
include/linux/netdevice.h
3853
dql_queued(&dev_queue->dql, bytes);
include/linux/netdevice.h
3900
dql_completed(&dev_queue->dql, bytes);
include/linux/netdevice.h
3909
if (unlikely(dql_avail(&dev_queue->dql) < 0))
include/linux/netdevice.h
3937
dql_reset(&q->dql);
include/linux/netdevice.h
707
struct dql dql;
lib/dynamic_queue_limits.c
101
completed = dql->num_completed + count;
lib/dynamic_queue_limits.c
102
limit = dql->limit;
lib/dynamic_queue_limits.c
103
ovlimit = POSDIFF(num_queued - dql->num_completed, limit);
lib/dynamic_queue_limits.c
105
prev_inprogress = dql->prev_num_queued - dql->num_completed;
lib/dynamic_queue_limits.c
106
all_prev_completed = AFTER_EQ(completed, dql->prev_num_queued);
lib/dynamic_queue_limits.c
109
(dql->prev_ovlimit && all_prev_completed)) {
lib/dynamic_queue_limits.c
125
limit += POSDIFF(completed, dql->prev_num_queued) +
lib/dynamic_queue_limits.c
126
dql->prev_ovlimit;
lib/dynamic_queue_limits.c
127
dql->slack_start_time = jiffies;
lib/dynamic_queue_limits.c
128
dql->lowest_slack = UINT_MAX;
lib/dynamic_queue_limits.c
154
slack = POSDIFF(limit + dql->prev_ovlimit,
lib/dynamic_queue_limits.c
155
2 * (completed - dql->num_completed));
lib/dynamic_queue_limits.c
156
slack_last_objs = dql->prev_ovlimit ?
lib/dynamic_queue_limits.c
157
POSDIFF(dql->prev_last_obj_cnt, dql->prev_ovlimit) : 0;
lib/dynamic_queue_limits.c
161
if (slack < dql->lowest_slack)
lib/dynamic_queue_limits.c
162
dql->lowest_slack = slack;
lib/dynamic_queue_limits.c
165
dql->slack_start_time + dql->slack_hold_time)) {
lib/dynamic_queue_limits.c
166
limit = POSDIFF(limit, dql->lowest_slack);
lib/dynamic_queue_limits.c
167
dql->slack_start_time = jiffies;
lib/dynamic_queue_limits.c
168
dql->lowest_slack = UINT_MAX;
lib/dynamic_queue_limits.c
173
limit = clamp(limit, dql->min_limit, dql->max_limit);
lib/dynamic_queue_limits.c
175
if (limit != dql->limit) {
lib/dynamic_queue_limits.c
176
dql->limit = limit;
lib/dynamic_queue_limits.c
18
static void dql_check_stall(struct dql *dql, unsigned short stall_thrs)
lib/dynamic_queue_limits.c
180
dql->adj_limit = limit + completed;
lib/dynamic_queue_limits.c
181
dql->prev_ovlimit = ovlimit;
lib/dynamic_queue_limits.c
182
dql->prev_last_obj_cnt = READ_ONCE(dql->last_obj_cnt);
lib/dynamic_queue_limits.c
183
dql->num_completed = completed;
lib/dynamic_queue_limits.c
184
dql->prev_num_queued = num_queued;
lib/dynamic_queue_limits.c
186
dql_check_stall(dql, stall_thrs);
lib/dynamic_queue_limits.c
190
void dql_reset(struct dql *dql)
lib/dynamic_queue_limits.c
193
dql->limit = dql->min_limit;
lib/dynamic_queue_limits.c
194
dql->num_queued = 0;
lib/dynamic_queue_limits.c
195
dql->num_completed = 0;
lib/dynamic_queue_limits.c
196
dql->last_obj_cnt = 0;
lib/dynamic_queue_limits.c
197
dql->prev_num_queued = 0;
lib/dynamic_queue_limits.c
198
dql->prev_last_obj_cnt = 0;
lib/dynamic_queue_limits.c
199
dql->prev_ovlimit = 0;
lib/dynamic_queue_limits.c
200
dql->lowest_slack = UINT_MAX;
lib/dynamic_queue_limits.c
201
dql->slack_start_time = jiffies;
lib/dynamic_queue_limits.c
203
dql->last_reap = jiffies;
lib/dynamic_queue_limits.c
204
dql->history_head = jiffies / BITS_PER_LONG;
lib/dynamic_queue_limits.c
205
memset(dql->history, 0, sizeof(dql->history));
lib/dynamic_queue_limits.c
209
void dql_init(struct dql *dql, unsigned int hold_time)
lib/dynamic_queue_limits.c
211
dql->max_limit = DQL_MAX_LIMIT;
lib/dynamic_queue_limits.c
212
dql->min_limit = 0;
lib/dynamic_queue_limits.c
213
dql->slack_hold_time = hold_time;
lib/dynamic_queue_limits.c
214
dql->stall_thrs = 0;
lib/dynamic_queue_limits.c
215
dql_reset(dql);
lib/dynamic_queue_limits.c
27
if (time_after_eq(now, dql->last_reap + stall_thrs)) {
lib/dynamic_queue_limits.c
35
hist_head = READ_ONCE(dql->history_head);
lib/dynamic_queue_limits.c
45
if (time_before(start, dql->last_reap + 1))
lib/dynamic_queue_limits.c
46
start = dql->last_reap + 1;
lib/dynamic_queue_limits.c
60
dql->history))
lib/dynamic_queue_limits.c
68
if (hist_head != READ_ONCE(dql->history_head))
lib/dynamic_queue_limits.c
71
dql->stall_cnt++;
lib/dynamic_queue_limits.c
72
dql->stall_max = max_t(unsigned short, dql->stall_max, now - t);
lib/dynamic_queue_limits.c
74
trace_dql_stall_detected(dql->stall_thrs, now - t,
lib/dynamic_queue_limits.c
75
dql->last_reap, dql->history_head,
lib/dynamic_queue_limits.c
76
now, dql->history);
lib/dynamic_queue_limits.c
79
dql->last_reap = now;
lib/dynamic_queue_limits.c
83
void dql_completed(struct dql *dql, unsigned int count)
lib/dynamic_queue_limits.c
90
num_queued = READ_ONCE(dql->num_queued);
lib/dynamic_queue_limits.c
96
stall_thrs = READ_ONCE(dql->stall_thrs);
lib/dynamic_queue_limits.c
99
BUG_ON(count > num_queued - dql->num_completed);
net/core/dev.c
11217
dql_init(&queue->dql, HZ);
net/core/net-sysfs.c
1566
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1568
return sysfs_emit(buf, "%u\n", jiffies_to_msecs(dql->slack_hold_time));
net/core/net-sysfs.c
1575
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1583
dql->slack_hold_time = msecs_to_jiffies(value);
net/core/net-sysfs.c
1595
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1597
return sysfs_emit(buf, "%u\n", jiffies_to_msecs(dql->stall_thrs));
net/core/net-sysfs.c
1604
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1616
if (!dql->stall_thrs && value)
net/core/net-sysfs.c
1617
dql->last_reap = jiffies;
net/core/net-sysfs.c
1620
dql->stall_thrs = value;
net/core/net-sysfs.c
1631
return sysfs_emit(buf, "%u\n", READ_ONCE(queue->dql.stall_max));
net/core/net-sysfs.c
1638
WRITE_ONCE(queue->dql.stall_max, 0);
net/core/net-sysfs.c
1648
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1650
return sysfs_emit(buf, "%lu\n", dql->stall_cnt);
net/core/net-sysfs.c
1659
struct dql *dql = &queue->dql;
net/core/net-sysfs.c
1661
return sysfs_emit(buf, "%u\n", dql->num_queued - dql->num_completed);
net/core/net-sysfs.c
1672
return bql_show(buf, queue->dql.FIELD); \
net/core/net-sysfs.c
1680
return bql_set(buf, len, &queue->dql.FIELD); \