Lines Matching full:q

32 	struct multiq_sched_data *q = qdisc_priv(sch);  in multiq_classify()  local
35 struct tcf_proto *fl = rcu_dereference_bh(q->filter_list); in multiq_classify()
53 if (band >= q->bands) in multiq_classify()
54 return q->queues[0]; in multiq_classify()
56 return q->queues[band]; in multiq_classify()
79 sch->q.qlen++; in multiq_enqueue()
89 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dequeue() local
94 for (band = 0; band < q->bands; band++) { in multiq_dequeue()
96 q->curband++; in multiq_dequeue()
97 if (q->curband >= q->bands) in multiq_dequeue()
98 q->curband = 0; in multiq_dequeue()
104 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) { in multiq_dequeue()
105 qdisc = q->queues[q->curband]; in multiq_dequeue()
109 sch->q.qlen--; in multiq_dequeue()
120 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_peek() local
121 unsigned int curband = q->curband; in multiq_peek()
126 for (band = 0; band < q->bands; band++) { in multiq_peek()
129 if (curband >= q->bands) in multiq_peek()
137 qdisc = q->queues[curband]; in multiq_peek()
151 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_reset() local
153 for (band = 0; band < q->bands; band++) in multiq_reset()
154 qdisc_reset(q->queues[band]); in multiq_reset()
155 sch->q.qlen = 0; in multiq_reset()
156 q->curband = 0; in multiq_reset()
163 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_destroy() local
165 tcf_block_put(q->block); in multiq_destroy()
166 for (band = 0; band < q->bands; band++) in multiq_destroy()
167 qdisc_put(q->queues[band]); in multiq_destroy()
169 kfree(q->queues); in multiq_destroy()
175 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_tune() local
189 removed = kmalloc(sizeof(*removed) * (q->max_bands - q->bands), in multiq_tune()
195 q->bands = qopt->bands; in multiq_tune()
196 for (i = q->bands; i < q->max_bands; i++) { in multiq_tune()
197 if (q->queues[i] != &noop_qdisc) { in multiq_tune()
198 struct Qdisc *child = q->queues[i]; in multiq_tune()
200 q->queues[i] = &noop_qdisc; in multiq_tune()
212 for (i = 0; i < q->bands; i++) { in multiq_tune()
213 if (q->queues[i] == &noop_qdisc) { in multiq_tune()
221 old = q->queues[i]; in multiq_tune()
222 q->queues[i] = child; in multiq_tune()
239 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_init() local
242 q->queues = NULL; in multiq_init()
247 err = tcf_block_get(&q->block, &q->filter_list, sch, extack); in multiq_init()
251 q->max_bands = qdisc_dev(sch)->num_tx_queues; in multiq_init()
253 q->queues = kcalloc(q->max_bands, sizeof(struct Qdisc *), GFP_KERNEL); in multiq_init()
254 if (!q->queues) in multiq_init()
256 for (i = 0; i < q->max_bands; i++) in multiq_init()
257 q->queues[i] = &noop_qdisc; in multiq_init()
264 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump() local
268 opt.bands = q->bands; in multiq_dump()
269 opt.max_bands = q->max_bands; in multiq_dump()
284 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_graft() local
290 *old = qdisc_replace(sch, new, &q->queues[band]); in multiq_graft()
297 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_leaf() local
300 return q->queues[band]; in multiq_leaf()
305 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_find() local
308 if (band - 1 >= q->bands) in multiq_find()
320 static void multiq_unbind(struct Qdisc *q, unsigned long cl) in multiq_unbind() argument
327 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class() local
330 tcm->tcm_info = q->queues[cl - 1]->handle; in multiq_dump_class()
337 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class_stats() local
340 cl_q = q->queues[cl - 1]; in multiq_dump_class_stats()
351 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_walk() local
357 for (band = 0; band < q->bands; band++) { in multiq_walk()
373 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_tcf_block() local
377 return q->block; in multiq_tcf_block()