Lines Matching defs:q
32 struct multiq_sched_data *q = qdisc_priv(sch);
35 struct tcf_proto *fl = rcu_dereference_bh(q->filter_list);
53 if (band >= q->bands)
54 return q->queues[0];
56 return q->queues[band];
79 sch->q.qlen++;
89 struct multiq_sched_data *q = qdisc_priv(sch);
94 for (band = 0; band < q->bands; band++) {
96 q->curband++;
97 if (q->curband >= q->bands)
98 q->curband = 0;
104 netdev_get_tx_queue(qdisc_dev(sch), q->curband))) {
105 qdisc = q->queues[q->curband];
109 sch->q.qlen--;
120 struct multiq_sched_data *q = qdisc_priv(sch);
121 unsigned int curband = q->curband;
126 for (band = 0; band < q->bands; band++) {
129 if (curband >= q->bands)
137 qdisc = q->queues[curband];
151 struct multiq_sched_data *q = qdisc_priv(sch);
153 for (band = 0; band < q->bands; band++)
154 qdisc_reset(q->queues[band]);
155 q->curband = 0;
162 struct multiq_sched_data *q = qdisc_priv(sch);
164 tcf_block_put(q->block);
165 for (band = 0; band < q->bands; band++)
166 qdisc_put(q->queues[band]);
168 kfree(q->queues);
174 struct multiq_sched_data *q = qdisc_priv(sch);
188 removed = kmalloc(sizeof(*removed) * (q->max_bands - qopt->bands),
194 q->bands = qopt->bands;
195 for (i = q->bands; i < q->max_bands; i++) {
196 if (q->queues[i] != &noop_qdisc) {
197 struct Qdisc *child = q->queues[i];
199 q->queues[i] = &noop_qdisc;
211 for (i = 0; i < q->bands; i++) {
212 if (q->queues[i] == &noop_qdisc) {
220 old = q->queues[i];
221 q->queues[i] = child;
238 struct multiq_sched_data *q = qdisc_priv(sch);
241 q->queues = NULL;
246 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
250 q->max_bands = qdisc_dev(sch)->num_tx_queues;
252 q->queues = kcalloc(q->max_bands, sizeof(struct Qdisc *), GFP_KERNEL);
253 if (!q->queues)
255 for (i = 0; i < q->max_bands; i++)
256 q->queues[i] = &noop_qdisc;
263 struct multiq_sched_data *q = qdisc_priv(sch);
267 opt.bands = q->bands;
268 opt.max_bands = q->max_bands;
283 struct multiq_sched_data *q = qdisc_priv(sch);
289 *old = qdisc_replace(sch, new, &q->queues[band]);
296 struct multiq_sched_data *q = qdisc_priv(sch);
299 return q->queues[band];
304 struct multiq_sched_data *q = qdisc_priv(sch);
307 if (band - 1 >= q->bands)
319 static void multiq_unbind(struct Qdisc *q, unsigned long cl)
326 struct multiq_sched_data *q = qdisc_priv(sch);
329 tcm->tcm_info = q->queues[cl - 1]->handle;
336 struct multiq_sched_data *q = qdisc_priv(sch);
339 cl_q = q->queues[cl - 1];
349 struct multiq_sched_data *q = qdisc_priv(sch);
355 for (band = 0; band < q->bands; band++) {
364 struct multiq_sched_data *q = qdisc_priv(sch);
368 return q->block;