Lines Matching refs: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 q->curband = 0; in multiq_reset()
162 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_destroy() local
164 tcf_block_put(q->block); in multiq_destroy()
165 for (band = 0; band < q->bands; band++) in multiq_destroy()
166 qdisc_put(q->queues[band]); in multiq_destroy()
168 kfree(q->queues); in multiq_destroy()
174 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_tune() local
188 removed = kmalloc(sizeof(*removed) * (q->max_bands - qopt->bands), in multiq_tune()
194 q->bands = qopt->bands; in multiq_tune()
195 for (i = q->bands; i < q->max_bands; i++) { in multiq_tune()
196 if (q->queues[i] != &noop_qdisc) { in multiq_tune()
197 struct Qdisc *child = q->queues[i]; in multiq_tune()
199 q->queues[i] = &noop_qdisc; in multiq_tune()
211 for (i = 0; i < q->bands; i++) { in multiq_tune()
212 if (q->queues[i] == &noop_qdisc) { in multiq_tune()
220 old = q->queues[i]; in multiq_tune()
221 q->queues[i] = child; in multiq_tune()
238 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_init() local
241 q->queues = NULL; in multiq_init()
246 err = tcf_block_get(&q->block, &q->filter_list, sch, extack); in multiq_init()
250 q->max_bands = qdisc_dev(sch)->num_tx_queues; in multiq_init()
252 q->queues = kcalloc(q->max_bands, sizeof(struct Qdisc *), GFP_KERNEL); in multiq_init()
253 if (!q->queues) in multiq_init()
255 for (i = 0; i < q->max_bands; i++) in multiq_init()
256 q->queues[i] = &noop_qdisc; in multiq_init()
263 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump() local
267 opt.bands = q->bands; in multiq_dump()
268 opt.max_bands = q->max_bands; in multiq_dump()
283 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_graft() local
289 *old = qdisc_replace(sch, new, &q->queues[band]); in multiq_graft()
296 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_leaf() local
299 return q->queues[band]; in multiq_leaf()
304 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_find() local
307 if (band - 1 >= q->bands) in multiq_find()
319 static void multiq_unbind(struct Qdisc *q, unsigned long cl) in multiq_unbind() argument
326 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class() local
329 tcm->tcm_info = q->queues[cl - 1]->handle; in multiq_dump_class()
336 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_dump_class_stats() local
339 cl_q = q->queues[cl - 1]; in multiq_dump_class_stats()
349 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_walk() local
355 for (band = 0; band < q->bands; band++) { in multiq_walk()
364 struct multiq_sched_data *q = qdisc_priv(sch); in multiq_tcf_block() local
368 return q->block; in multiq_tcf_block()