Lines Matching defs:qdisc
35 #include <trace/events/qdisc.h>
47 Generally, queueing discipline ("qdisc") is a black box,
52 qdisc's are divided to two categories:
66 All real intelligent work is done inside qdisc modules.
99 returns qdisc to initial state: purge all buffers, clear all
104 initializes newly created qdisc.
108 destroys resources allocated by init and during lifetime of qdisc.
112 changes qdisc parameters.
193 /* Get default qdisc if not otherwise specified */
216 /* Set new default qdisc to use */
254 /* We know handle. Find qdisc among all qdisc's attached to device
255 * (root qdisc, all its children, children of children etc.)
304 q = qdisc_match_from_root(rtnl_dereference(dev->qdisc), handle);
323 q = qdisc_match_from_root(rcu_dereference(dev->qdisc), handle);
440 NL_SET_ERR_MSG(extack, "Failed to allocate new qdisc rate table");
594 void qdisc_warn_nonwc(const char *txt, struct Qdisc *qdisc)
596 if (!(qdisc->flags & TCQ_F_WARN_NONWC)) {
597 pr_warn("%s: %s qdisc %X: is non-work-conserving?\n",
598 txt, qdisc->ops->id, qdisc->handle >> 16);
599 qdisc->flags |= TCQ_F_WARN_NONWC;
610 __netif_schedule(qdisc_root(wd->qdisc));
616 void qdisc_watchdog_init_clockid(struct qdisc_watchdog *wd, struct Qdisc *qdisc,
621 wd->qdisc = qdisc;
625 void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc)
627 qdisc_watchdog_init_clockid(wd, qdisc, CLOCK_MONOTONIC);
635 &qdisc_root_sleeping(wd->qdisc)->state))
789 /* Notify parent qdisc only if child qdisc becomes empty.
1028 /* Graft qdisc "new" to class "classid" of qdisc "parent" or
1034 * On success, destroy old qdisc.
1084 old = rtnl_dereference(dev->qdisc);
1087 rcu_assign_pointer(dev->qdisc, new ? : &noop_qdisc);
1165 Allocate and initialize new qdisc.
1213 NL_SET_ERR_MSG(extack, "Specified qdisc kind is unknown");
1237 NL_SET_ERR_MSG(extack, "Maximum number of qdisc handles was exceeded");
1251 * to qdisc init), and then forgot to reinit tx_queue_len
1252 * before again attaching a qdisc.
1282 NL_SET_ERR_MSG(extack, "Cannot attach rate estimator to a multi-queue root qdisc");
1326 * The qdisc was never in action so it shouldn't be necessary.
1342 NL_SET_ERR_MSG(extack, "Change operation not supported by specified qdisc");
1432 * Delete/get qdisc.
1466 NL_SET_ERR_MSG(extack, "Failed to find qdisc with specified classid");
1474 q = rtnl_dereference(dev->qdisc);
1477 NL_SET_ERR_MSG(extack, "Cannot find specified qdisc on specified device");
1488 NL_SET_ERR_MSG(extack, "Failed to find qdisc with specified handle");
1494 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1504 NL_SET_ERR_MSG(extack, "Cannot delete qdisc with handle of zero");
1536 * Create/change qdisc.
1573 NL_SET_ERR_MSG(extack, "Failed to find specified qdisc");
1581 q = rtnl_dereference(dev->qdisc);
1584 /* It may be default qdisc, ignore it */
1607 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1635 * If the requested qdisc kind is different
1645 * then the qdisc tcm_handle is not expected
1673 /* Change qdisc parameters */
1675 NL_SET_ERR_MSG(extack, "Specified qdisc not found");
1683 NL_SET_ERR_MSG(extack, "Invalid qdisc name");
1764 * If we've already dumped the top-level (ingress) qdisc above and the global
1765 * qdisc hashtable, we don't want to hit it again
1821 if (tc_dump_qdisc_root(rtnl_dereference(dev->qdisc),
2074 parent == 0:Y - parent is X:Y, where X:0 is qdisc.
2077 handle == 0:Y - class is X:Y, where X:0 is qdisc.
2082 /* Step 1. Determine qdisc handle X:0 */
2098 qid = rtnl_dereference(dev->qdisc)->handle;
2100 /* Now qid is genuine qdisc handle consistent
2109 qid = rtnl_dereference(dev->qdisc)->handle;
2112 /* OK. Locate qdisc */
2270 if (tc_dump_tclass_root(rtnl_dereference(dev->qdisc),