Lines Matching refs:q

42 	struct multiq_sched_data *q = qdisc_priv(sch);  in multiq_classify()  local
45 struct tcf_proto *fl = rcu_dereference_bh(q->filter_list); in multiq_classify()
61 if (band >= q->bands) in multiq_classify()
62 return q->queues[0]; in multiq_classify()
64 return q->queues[band]; in multiq_classify()
86 sch->q.qlen++; in multiq_enqueue()
96 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue() local
101 for (band = 0; band < q->bands; band++) { in multiq_dequeue()
103 q->curband++; in multiq_dequeue()
104 if (q->curband >= q->bands) in multiq_dequeue()
105 q->curband = 0; in multiq_dequeue()
111 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue()
112 qdisc = q->queues[q->curband]; in multiq_dequeue()
116 sch->q.qlen--; in multiq_dequeue()
127 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_peek() local
128 unsigned int curband = q->curband; in multiq_peek()
133 for (band = 0; band < q->bands; band++) { in multiq_peek()
136 if (curband >= q->bands) in multiq_peek()
144 qdisc = q->queues[curband]; in multiq_peek()
156 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_drop() local
161 for (band = q->bands - 1; band >= 0; band--) { in multiq_drop()
162 qdisc = q->queues[band]; in multiq_drop()
166 sch->q.qlen--; in multiq_drop()
179 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_reset() local
181 for (band = 0; band < q->bands; band++) in multiq_reset()
182 qdisc_reset(q->queues[band]); in multiq_reset()
183 sch->q.qlen = 0; in multiq_reset()
184 q->curband = 0; in multiq_reset()
191 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_destroy() local
193 tcf_destroy_chain(&q->filter_list); in multiq_destroy()
194 for (band = 0; band < q->bands; band++) in multiq_destroy()
195 qdisc_destroy(q->queues[band]); in multiq_destroy()
197 kfree(q->queues); in multiq_destroy()
202 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_tune() local
216 q->bands = qopt->bands; in multiq_tune()
217 for (i = q->bands; i < q->max_bands; i++) { in multiq_tune()
218 if (q->queues[i] != &noop_qdisc) { in multiq_tune()
219 struct Qdisc *child = q->queues[i]; in multiq_tune()
220 q->queues[i] = &noop_qdisc; in multiq_tune()
221 qdisc_tree_decrease_qlen(child, child->q.qlen); in multiq_tune()
228 for (i = 0; i < q->bands; i++) { in multiq_tune()
229 if (q->queues[i] == &noop_qdisc) { in multiq_tune()
237 old = q->queues[i]; in multiq_tune()
238 q->queues[i] = child; in multiq_tune()
242 old->q.qlen); in multiq_tune()
254 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_init() local
257 q->queues = NULL; in multiq_init()
262 q->max_bands = qdisc_dev(sch)->num_tx_queues; in multiq_init()
264 q->queues = kcalloc(q->max_bands, sizeof(struct Qdisc *), GFP_KERNEL); in multiq_init()
265 if (!q->queues) in multiq_init()
267 for (i = 0; i < q->max_bands; i++) in multiq_init()
268 q->queues[i] = &noop_qdisc; in multiq_init()
273 kfree(q->queues); in multiq_init()
280 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump() local
284 opt.bands = q->bands; in multiq_dump()
285 opt.max_bands = q->max_bands; in multiq_dump()
300 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_graft() local
307 *old = q->queues[band]; in multiq_graft()
308 q->queues[band] = new; in multiq_graft()
309 qdisc_tree_decrease_qlen(*old, (*old)->q.qlen); in multiq_graft()
319 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_leaf() local
322 return q->queues[band]; in multiq_leaf()
327 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_get() local
330 if (band - 1 >= q->bands) in multiq_get()
342 static void multiq_put(struct Qdisc *q, unsigned long cl) in multiq_put() argument
349 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class() local
352 tcm->tcm_info = q->queues[cl - 1]->handle; in multiq_dump_class()
359 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class_stats() local
362 cl_q = q->queues[cl - 1]; in multiq_dump_class_stats()
364 gnet_stats_copy_queue(d, NULL, &cl_q->qstats, cl_q->q.qlen) < 0) in multiq_dump_class_stats()
372 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_walk() local
378 for (band = 0; band < q->bands; band++) { in multiq_walk()
394 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_find_tcf() local
398 return &q->filter_list; in multiq_find_tcf()