Lines Matching defs:sch
1502 static unsigned int cake_drop(struct Qdisc *sch, struct sk_buff **to_free)
1504 struct cake_sched_data *q = qdisc_priv(sch);
1541 sch->qstats.backlog -= len;
1542 qdisc_tree_reduce_backlog(sch, 1, len);
1546 sch->qstats.drops++;
1552 sch->q.qlen--;
1615 static struct cake_tin_data *cake_select_tin(struct Qdisc *sch,
1618 struct cake_sched_data *q = qdisc_priv(sch);
1638 else if (TC_H_MAJ(skb->priority) == sch->handle &&
1655 static u32 cake_classify(struct Qdisc *sch, struct cake_tin_data **t,
1658 struct cake_sched_data *q = qdisc_priv(sch);
1689 *t = cake_select_tin(sch, skb);
1693 static void cake_reconfigure(struct Qdisc *sch);
1695 static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
1698 struct cake_sched_data *q = qdisc_priv(sch);
1708 idx = cake_classify(sch, &b, skb, q->flow_mode, &ret);
1711 qdisc_qstats_drop(sch);
1723 if (!sch->q.qlen) {
1733 sch->qstats.overlimits++;
1749 return qdisc_drop(skb, sch, to_free);
1759 sch->q.qlen++;
1770 sch->qstats.backlog += slen;
1773 qdisc_tree_reduce_backlog(sch, 1-numsegs, len-slen);
1786 sch->qstats.drops++;
1793 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(ack));
1796 sch->q.qlen++;
1805 sch->qstats.backlog += len;
1846 cake_reconfigure(sch);
1904 cake_drop(sch, to_free);
1911 static struct sk_buff *cake_dequeue_one(struct Qdisc *sch)
1913 struct cake_sched_data *q = qdisc_priv(sch);
1924 sch->qstats.backlog -= len;
1926 sch->q.qlen--;
1935 static void cake_clear_tin(struct Qdisc *sch, u16 tin)
1937 struct cake_sched_data *q = qdisc_priv(sch);
1942 while (!!(skb = cake_dequeue_one(sch)))
1946 static struct sk_buff *cake_dequeue(struct Qdisc *sch)
1948 struct cake_sched_data *q = qdisc_priv(sch);
1961 if (!sch->q.qlen)
1970 sch->qstats.overlimits++;
2108 skb = cake_dequeue_one(sch);
2177 qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb));
2178 qdisc_qstats_drop(sch);
2185 qdisc_bstats_update(sch, skb);
2199 if (ktime_after(q->time_next_packet, now) && sch->q.qlen) {
2204 } else if (!sch->q.qlen) {
2226 static void cake_reset(struct Qdisc *sch)
2228 struct cake_sched_data *q = qdisc_priv(sch);
2235 cake_clear_tin(sch, c);
2297 static int cake_config_besteffort(struct Qdisc *sch)
2299 struct cake_sched_data *q = qdisc_priv(sch);
2301 u32 mtu = psched_mtu(qdisc_dev(sch));
2316 static int cake_config_precedence(struct Qdisc *sch)
2319 struct cake_sched_data *q = qdisc_priv(sch);
2320 u32 mtu = psched_mtu(qdisc_dev(sch));
2392 static int cake_config_diffserv8(struct Qdisc *sch)
2408 struct cake_sched_data *q = qdisc_priv(sch);
2409 u32 mtu = psched_mtu(qdisc_dev(sch));
2440 static int cake_config_diffserv4(struct Qdisc *sch)
2452 struct cake_sched_data *q = qdisc_priv(sch);
2453 u32 mtu = psched_mtu(qdisc_dev(sch));
2482 static int cake_config_diffserv3(struct Qdisc *sch)
2489 struct cake_sched_data *q = qdisc_priv(sch);
2490 u32 mtu = psched_mtu(qdisc_dev(sch));
2516 static void cake_reconfigure(struct Qdisc *sch)
2518 struct cake_sched_data *q = qdisc_priv(sch);
2523 ft = cake_config_besteffort(sch);
2527 ft = cake_config_precedence(sch);
2531 ft = cake_config_diffserv8(sch);
2535 ft = cake_config_diffserv4(sch);
2540 ft = cake_config_diffserv3(sch);
2545 cake_clear_tin(sch, c);
2563 sch->flags &= ~TCQ_F_CAN_BYPASS;
2566 max(sch->limit * psched_mtu(qdisc_dev(sch)),
2570 static int cake_change(struct Qdisc *sch, struct nlattr *opt,
2573 struct cake_sched_data *q = qdisc_priv(sch);
2684 sch_tree_lock(sch);
2685 cake_reconfigure(sch);
2686 sch_tree_unlock(sch);
2692 static void cake_destroy(struct Qdisc *sch)
2694 struct cake_sched_data *q = qdisc_priv(sch);
2701 static int cake_init(struct Qdisc *sch, struct nlattr *opt,
2704 struct cake_sched_data *q = qdisc_priv(sch);
2707 sch->limit = 10240;
2721 qdisc_watchdog_init(&q->watchdog, sch);
2724 err = cake_change(sch, opt, extack);
2730 err = tcf_block_get(&q->block, &q->filter_list, sch, extack);
2766 cake_reconfigure(sch);
2773 static int cake_dump(struct Qdisc *sch, struct sk_buff *skb)
2775 struct cake_sched_data *q = qdisc_priv(sch);
2847 static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
2850 struct cake_sched_data *q = qdisc_priv(sch);
2946 static struct Qdisc *cake_leaf(struct Qdisc *sch, unsigned long arg)
2951 static unsigned long cake_find(struct Qdisc *sch, u32 classid)
2956 static unsigned long cake_bind(struct Qdisc *sch, unsigned long parent,
2966 static struct tcf_block *cake_tcf_block(struct Qdisc *sch, unsigned long cl,
2969 struct cake_sched_data *q = qdisc_priv(sch);
2976 static int cake_dump_class(struct Qdisc *sch, unsigned long cl,
2983 static int cake_dump_class_stats(struct Qdisc *sch, unsigned long cl,
2986 struct cake_sched_data *q = qdisc_priv(sch);
3000 sch_tree_lock(sch);
3006 sch_tree_unlock(sch);
3057 static void cake_walk(struct Qdisc *sch, struct qdisc_walker *arg)
3059 struct cake_sched_data *q = qdisc_priv(sch);
3073 if (!tc_qdisc_stats_dump(sch, i * CAKE_QUEUES + j + 1,