Lines Matching defs:qdisc
36 #include <trace/events/qdisc.h>
48 Generally, queueing discipline ("qdisc") is a black box,
53 qdisc's are divided to two categories:
67 All real intelligent work is done inside qdisc modules.
100 returns qdisc to initial state: purge all buffers, clear all
105 initializes newly created qdisc.
109 destroys resources allocated by init and during lifetime of qdisc.
113 changes qdisc parameters.
191 WARN(err, "unregister qdisc(%s) failed\n", qops->id);
195 /* Get default qdisc if not otherwise specified */
218 /* Set new default qdisc to use */
256 /* We know handle. Find qdisc among all qdisc's attached to device
257 * (root qdisc, all its children, children of children etc.)
306 q = qdisc_match_from_root(rtnl_dereference(dev->qdisc), handle);
325 q = qdisc_match_from_root(rcu_dereference(dev->qdisc), handle);
443 NL_SET_ERR_MSG(extack, "Failed to allocate new qdisc rate table");
598 void qdisc_warn_nonwc(const char *txt, struct Qdisc *qdisc)
600 if (!(qdisc->flags & TCQ_F_WARN_NONWC)) {
601 pr_warn("%s: %s qdisc %X: is non-work-conserving?\n",
602 txt, qdisc->ops->id, qdisc->handle >> 16);
603 qdisc->flags |= TCQ_F_WARN_NONWC;
614 __netif_schedule(qdisc_root(wd->qdisc));
620 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc,
625 wd->qdisc = qdisc;
629 void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc)
631 qdisc_watchdog_init_clockid(wd, qdisc, CLOCK_MONOTONIC);
642 &qdisc_root_sleeping(wd->qdisc)->state);
800 /* Notify parent qdisc only if child qdisc becomes empty.
1063 /* Graft qdisc "new" to class "classid" of qdisc "parent" or
1069 * On success, destroy old qdisc.
1139 old = rtnl_dereference(dev->qdisc);
1142 rcu_assign_pointer(dev->qdisc, new ? : &noop_qdisc);
1218 Allocate and initialize new qdisc.
1266 NL_SET_ERR_MSG(extack, "Specified qdisc kind is unknown");
1290 NL_SET_ERR_MSG(extack, "Maximum number of qdisc handles was exceeded");
1304 * to qdisc init), and then forgot to reinit tx_queue_len
1305 * before again attaching a qdisc.
1334 NL_SET_ERR_MSG(extack, "Cannot attach rate estimator to a multi-queue root qdisc");
1380 NL_SET_ERR_MSG(extack, "Change operation not supported by specified qdisc");
1470 * Delete/get qdisc.
1500 NL_SET_ERR_MSG(extack, "Failed to find qdisc with specified classid");
1508 q = rtnl_dereference(dev->qdisc);
1511 NL_SET_ERR_MSG(extack, "Cannot find specified qdisc on specified device");
1522 NL_SET_ERR_MSG(extack, "Failed to find qdisc with specified handle");
1528 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1538 NL_SET_ERR_MSG(extack, "Cannot delete qdisc with handle of zero");
1570 * Create/change qdisc.
1604 NL_SET_ERR_MSG(extack, "Failed to find specified qdisc");
1612 q = rtnl_dereference(dev->qdisc);
1615 /* It may be default qdisc, ignore it */
1638 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1666 * If the requested qdisc kind is different
1676 * then the qdisc tcm_handle is not expected
1704 /* Change qdisc parameters */
1706 NL_SET_ERR_MSG(extack, "Specified qdisc not found");
1714 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1795 * If we've already dumped the top-level (ingress) qdisc above and the global
1796 * qdisc hashtable, we don't want to hit it again
1852 if (tc_dump_qdisc_root(rtnl_dereference(dev->qdisc),
2101 parent == 0:Y - parent is X:Y, where X:0 is qdisc.
2104 handle == 0:Y - class is X:Y, where X:0 is qdisc.
2109 /* Step 1. Determine qdisc handle X:0 */
2125 qid = rtnl_dereference(dev->qdisc)->handle;
2127 /* Now qid is genuine qdisc handle consistent
2136 qid = rtnl_dereference(dev->qdisc)->handle;
2139 /* OK. Locate qdisc */
2297 if (tc_dump_tclass_root(rtnl_dereference(dev->qdisc),